Angular uiRouter Resolve exception



为什么在使用$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()返回一个数组而不是一个对象。这是我的违规!

最新更新