在没有$ rootScope的情况下访问“内部” $ scope

贝诺伊特

我有一个控制器,它带有$ 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,所以我想知道是否还有另一种简单的方法可以达到相同的结果。

MPM

使用服务

.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在没有$ scope或$ watch的情况下跨Angular控制器访问函数

在没有$ scope的情况下创建指令AngularJS

在没有$ scope的情况下从角度$ http获取数据

在没有$ scope的情况下在Angular中显示内容

如何在没有外部返回内部函数的情况下访问函数内部函数

在没有任何代码的情况下访问Web服务中的内部类和方法

在Angular JS中,有没有办法在不使用scope.watch的情况下监视DOM的更改?

在没有端口的情况下访问freenode

在没有实例的情况下访问“实例”?

在没有租户角色的情况下访问工作簿?

在没有端口的情况下访问Istio部署的网站

在没有jQuery的情况下访问'data-'属性

在没有root访问权限的情况下安装SCONS

在没有``sudo''的情况下访问(树莓派的)GPIO

在没有实例的情况下访问Kotlin代表类型

在没有上下文的情况下访问资源

在没有 root 访问权限的情况下构建 FLTK

在没有反应的情况下访问redux

在没有kubectl的情况下访问Kubernetes API

在没有Internet访问的情况下安装Tensorflow cpu

在没有Salesforce帐户的情况下访问VisualForce页面

在没有参考的情况下改造对列表的访问

Ionic / Angular.js $ scope在没有ng-repeat的情况下不会传递值

从$ rootscope angularjs访问$ scope

在function($ scope)旁边没有['$ scope'

$ watch()没有更新$ scope

在没有“ for”的情况下跨行循环

在没有OnPaint的情况下失效

在没有initrd的情况下引导