我正在尝试创建一个简单的应用来搜索某些联系人并单独查看项目...但是当我点击单个项目时出现以下错误,我尝试使用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;
});
答案 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});
});
这样每个控制器都知道如何获取所需的数据。