相关疑难解决方法(0)

AngularJS中控制器之间通信的正确方法是什么?

控制器之间通信的正确方法是什么?

我目前正在使用一种可怕的软糖包括window:

function StockSubgroupCtrl($scope, $http) {
    $scope.subgroups = [];
    $scope.handleSubgroupsLoaded = function(data, status) {
        $scope.subgroups = data;
    }
    $scope.fetch = function(prod_grp) {
        $http.get('/api/stock/groups/' + prod_grp + '/subgroups/').success($scope.handleSubgroupsLoaded);
    }
    window.fetchStockSubgroups = $scope.fetch;
}

function StockGroupCtrl($scope, $http) {
    ...
    $scope.select = function(prod_grp) {
        $scope.selectedGroup = prod_grp;
        window.fetchStockSubgroups(prod_grp);
    }
}
Run Code Online (Sandbox Code Playgroud)

scope angularjs

470
推荐指数
9
解决办法
21万
查看次数

如何在AngularJS中将广播事件注销到rootscope?

我有以下内容:

angular.module('test')
    .controller('QuestionsStatusController1',
    ['$rootScope', '$scope', '$resource', '$state',
    function ($rootScope, $scope, $resource, $state) {

        $scope.action2 = function() {
            $rootScope.$broadcast('action2@QuestionStatusController1');
        }

    }]);

angular.module('test')
   .controller('QuestionsStatusController2',
   ['$rootScope', '$scope', '$resource', '$state',
   function ($rootScope, $scope, $resource, $state) {

    $rootScope.$on('action2@QuestionStatusController1', function {
         //write your listener here
    })

   }]);
Run Code Online (Sandbox Code Playgroud)

我的理解是我需要取消注册听取事件.有人能告诉我如何编码/执行此操作吗?

angularjs

64
推荐指数
3
解决办法
5万
查看次数

当角度开始破坏时,我们是否需要在指令中取消绑定事件监听器?

我的应用程序中存在大量内存泄漏但我没有找到原因,这是后台.

  • 我正在使用AngularJS + JQuery(插件)
  • 许多听众受到如下约束:

    $(element).on("keyup",function(){});

所以问题是

我是否需要通过以下方式取消绑定指令中的听众?

scope.$on("$destroy", function() {
    $(element).off();
}); 
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你如何找到Web应用程序中的内存泄漏?我使用chrome的配置文件(请参阅此处分析内存性能),但我无法跟踪内存泄漏的代码.你有什么建议吗?

非常感谢!

jquery memory-leaks event-listener angularjs

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×3

event-listener ×1

jquery ×1

memory-leaks ×1

scope ×1