我有这个控制器,带有$ 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,我想知道是否有另一种简单的方法来实现相同的结果。
答案 0 :(得分:0)
使用服务
.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);
})
};