为什么在使用$httpBackend时得到Angular的uiRoute
这是我的模拟服务被击中:
$httpBackend.whenGET(editingRegex).respond(function (method, url) {
var parameters = url.split('/');
var length = parameters.length;
var id = parseInt(parameters[length - 1]);
var product = id > 0 ? products.filter(function (elem) {
if (elem.productId === id) {
return elem
}
}) : {'productId': 0};
return [200, product, {}]
});
这是我的ui路由代码
$stateProvider.state('productDetail', {
url: '/products/:productId',
templateUrl: 'app/products/productDetail.html',
controller: 'ProductDetailController as vm',
resolve: {
productResource: 'productResource',
product: function (productResource, $stateParams) {
var productId = $stateParams.productId;
return productResource.get({productId: productId}).$promise;
}
}
});
这是我得到的异常:
productResource =
function productResource($resource) {
return $resource('/api/products/:productId');
};
Error: [$resource:badcfg]资源配置错误
get
。预期响应包含一个对象,但得到一个数组(请求:GET/api/products/3)
.filters()
返回一个数组而不是一个对象。这是我的违规!