我正在使用controllerAs和bindToController"pattern"在Angular 1.4.12上实现AngularJS指令,以便拥有一个不依赖于$ scope的干净控制器.但是我仍然觉得很难摆脱这些线上的$ scope:
$scope.$on( '$destroy', function() {...} ); $scope.$on( '$stateChangeSuccess', function() {} );
知道如何处理这种情况吗?
谢谢
不使用$ scope的想法是:
不使用没有上下文的变量污染HTML,并且可能在同一范围内具有冲突的变量名称.
ng-model ="name"VS ng-model ="userController.user.name"
通过在每个变量和函数前面使用$ scope来污染你的javascript代码
如果你需要广播事件或观察更改,使用$ scope是完全没问题的(特别是如果你没有像角度1.5中的.components那样的话)
见$scope
由角提供给你就像一个服务$window
或$state
.如果您需要它,您可以使用它.(但是不要去代码,即使你可以)