我之前问过这个问题的角度资源和我得到它的工作,但现在我已经开始使用restangular。
我有一个从storage/models.json
获取数据的视图/models
,并且我将它设置为与restangular一起正常工作。
现在我想看看如/models/:modelId
这样的一个视图,它将从storage/individual/:modelId.json
获得数据:显然,modelId是模型的相应ID,而且我遇到了麻烦,并将其设置为restangular。我使用角度资源工作,但restangular有许多功能,我将在未来受益,因此我决定进行切换。
有人能指出我正确的方向吗? GitHub页面并没有真正讨论routeParams,我无法找到我正在努力实现的示例,尽管我可能忽略了它。
ModelsCtrl.js:
'use strict';
angular
.module('swoleincApp')
.controller('ModelsCtrl', ['ModelsService', '$scope', ModelsCtrl]);
function ModelsCtrl(ModelsService, $scope) {
ModelsService
.then(function(allModels) {
$scope.models = allModels;
});
}
ModelsService.js:
'use strict';
angular
.module('swoleincApp')
.factory('ModelsService', ['Restangular', ModelsService]);
function ModelsService(Restangular) {
return Restangular
.service('app/storage/models.json')
.getList();
}
上面两个例子很好地协同工作,给我所期望的结果。
我想为第二条路线做这样的事情,但我得到了一个404,因为“:modelId”在url中被使用,而不是实际的模型ID。
IndividualCtrl.js:
'use strict';
angular
.module('swoleincApp')
.controller('IndividualCtrl', ['Individual', '$scope', IndividualCtrl]);
function IndividualCtrl(Individual, $scope) {
Individual
.then(function(individual) {
$scope.model = individual;
});
}
IndividualService.js:
'use strict';
angular
.module('swoleincApp')
.factory('Individual', ['Restangular', IndividualService]);
function IndividualService(Restangular) {
return Restangular
.one('storage/individual/:modelId.json')
.get();
}
我试过这个,只是得到错误。要么我错误地实施,要么你误会。例如,/ models视图加载所有模型。每个模型都链接到/ models /:modelId,其中:modelId是导向其.json文件的字符串。我希望它能够在单击该链接时/ models /:modelId视图中加载用于数据的storage/individual /:modelId.json文件。我使用routeParams很容易使用角度资源设置,但无法找到用于重新生成的示例。 – Lansana