我有一个控制器,它带有$ scope.go,可通过简单的ng-click和代表.json文件名称的字符串来触发。然后,我转到另一个视图并使用该.json文件:
的HTML
<tr class='clickableRow' ng-click="go('kanji')">
控制器
.controller('Api_docCtrl', function ($scope, $http, $state, $rootScope) {
$scope.go = function (json) {
$state.go('api_doc_detail');
$http.get('views/api_doc/' + json + '.json').success(function (data) {
$rootScope.doc = (data)
$rootScope.example = JSON.stringify(data, null, 4);
})
};
});
因为我听说我不应该污染$ rootScape,所以我想知道是否还有另一种简单的方法可以达到相同的结果。
使用服务
.factory('JsonService',function(){
return {doc:null,example:null};
})
.controller('Api_docCtrl', function ($scope, $http, $state, JsonService) {
$scope.go = function (json) {
$state.go('api_doc_detail');
$http.get('views/api_doc/' + json + '.json').success(function (data) {
JsonService.doc = (data)
JsonService.example = JSON.stringify(data, null, 4);
})
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句