Angularjs bindToController如何摆脱所有$scope($scope.$on)
我在Angular1.4.12上使用controllerAs和bindToController“模式”实现AngularJS指令,以便有一个干净的控制器,它不依赖于$scope。 但是,我仍然发现在以下几行中很难去掉$scope:Angularjs bindToController如何摆脱所有$scope($scope.$on),angularjs,angularjs-directive,Angularjs,Angularjs Directive,我在Angular1.4.12上使用controllerAs和bindToController“模式”实现AngularJS指令,以便有一个干净的控制器,它不依赖于$scope。 但是,我仍然发现在以下几行中很难去掉$scope: $scope.$on( '$destroy', function() {...} ); $scope.$on( '$stateChangeSuccess', function() {} ); 你知道怎么处理这个案子吗 谢谢不使用$scope的想法是: 不要使用没有
$scope.$on( '$destroy', function() {...} );
$scope.$on( '$stateChangeSuccess', function() {} );
你知道怎么处理这个案子吗
谢谢不使用$scope的想法是:
- 不要使用没有上下文的变量污染HTML,并且在同一范围内可能有冲突的变量名 ng model=“name”VS ng model=“userController.user.name”
- 通过在每个变量前面加上 具有$scope的函数
$scope
视为Angular向您提供的服务,就像$window
或$state
一样。
如果你需要它,你可以使用它。(但即使可以,也不要把代码放在那里)不使用$scope的想法是:
- 不要使用没有上下文的变量污染HTML,并且在同一范围内可能有冲突的变量名 ng model=“name”VS ng model=“userController.user.name”
- 通过在每个变量前面加上 具有$scope的函数
$scope
视为Angular向您提供的服务,就像$window
或$state
一样。
如果你需要它,你可以使用它。(但即使可以,也不要把代码放在那里)可能与我读到的Angular 1.5.x中引入了生命周期挂钩类似。也许这就是我要找的。不幸的是,我无法将我的项目升级到AngularJS 1.5.xlifecycle挂钩当前仅对组件可用您将不得不继续使用$scope for events。。。这是一种为你提供这些服务的服务services@svarog它们在指令中可用。组件是糖化的指令。可能是我读到的Angular 1.5.x中引入了生命周期挂钩的副本。也许这就是我要找的。不幸的是,我无法将我的项目升级到AngularJS 1.5.xlifecycle挂钩当前仅对组件可用您将不得不继续使用$scope for events。。。这是一种为你提供这些服务的服务services@svarog它们在指令中可用。组件是糖化的指令。你是正确的。我要做的唯一补充是,新的ui.Router反对$stateChangeSuccess事件,而支持onSuccess订阅挂钩:感谢您指出这种反对。不幸的是,我们目前使用的是ui路由器V0.2.15,它不提供连接到成功的可能性。我要做的唯一补充是,新的ui.Router反对$stateChangeSuccess事件,而支持onSuccess订阅挂钩:感谢您指出这种反对。不幸的是,我们目前使用的是ui路由器V0.2.15,它不提供连接到onSuccess的可能性