当前位置:  开发笔记 > 编程语言 > 正文

bindToController如何摆脱所有$ scope($ scope.$ on)

如何解决《bindToController如何摆脱所有$scope($scope.$on)》经验,为你挑选了1个好方法。

我正在使用controllerAs和bindToController"pattern"在Angular 1.4.12上实现AngularJS指令,以便拥有一个不依赖于$ scope的干净控制器.但是我仍然觉得很难摆脱这些线上的$ scope:

$scope.$on( '$destroy', function() {...} );
$scope.$on( '$stateChangeSuccess', function() {} );

知道如何处理这种情况吗?

谢谢



1> gyc..:

不使用$ scope的想法是:

不使用没有上下文的变量污染HTML,并且可能在同一范围内具有冲突的变量名称.

ng-model ="name"VS ng-model ="userController.user.name"

通过在每个变量和函数前面使用$ scope来污染你的javascript代码

如果你需要广播事件或观察更改,使用$ scope是完全没问题的(特别是如果你没有像角度1.5中的.components那样的话)

$scope由角提供给你就像一个服务$window$state.如果您需要它,您可以使用它.(但是不要去代码,即使你可以)


你是现货.我要做的唯一补充是新的ui.Router弃用了$ stateChangeSuccess事件,转而使用onSuccess订阅钩子:https://ui-router.github.io/docs/latest/classes/transition.transitionservice.html#的onSuccess
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有