角度查询抛出错误

时间:2015-06-08 16:27:27

标签: angularjs

我正在尝试创建一个简单的应用来搜索某些联系人并单独查看项目...但是当我点击单个项目时出现以下错误,我尝试使用get而不是当我这样做时其他页面停止工作,'/:id'列出所有常量。

错误:[$ resource:badcfg]:link

操作Error in resource configuration for action {0} . Expected response to contain an {1} but got an {2}的资源配置出错。预期响应包含查询但得到一个数组(请求:对象{4})

var app = angular.module("Charts", ['ngRoute', 'ngResource']);

app.config(function($routeProvider, $locationProvider) {

    $routeProvider
        //Route for the home page
        .when('/', {
            templateUrl : '/portal/assets/templates/list.html',
            controller  : 'ChartsCtrl'
        }).when('/:id', {
            templateUrl : '/portal/assets/templates/single.html',
            controller  : 'ChartsCtrl'
        });

        $locationProvider.html5Mode({
            enabled: false,
            requireBase: false
        });
});

app.factory('Charts', function ($resource) {

    return $resource('/portal/charts/json/:id',{ id: '@id' });

});

app.controller('ChartsCtrl', function($scope, Charts, $routeParams, $location, $filter) {

    var id = $routeParams.id;
    var charts = Charts.query({'id':id});
    $scope.charts = charts;

});

1 个答案:

答案 0 :(得分:0)

这是您可以通过单独的控制器实现的一种方式:

// Controller for the list view
app.controller('ChartsCtrl', function($scope, Charts) {
    $scope.charts = Charts.query();
});

// Controller for the detail view, edit your route definition to use this
app.controller('ChartDetailCtrl', function($scope, Charts, $routeParams) {
    var id = $routeParams.id;
    $scope.chart = Charts.get({id: id});
});

这样每个控制器都知道如何获取所需的数据。