Angular 2的ui路由器中,$rootScope.$on(';$stateChangeStart';,…)的等价物是什么?
我对Angular 1的ui路由器有经验,现在我想知道如何在ui-router-ng2中收听Angular 2的ui路由器中,$rootScope.$on(';$stateChangeStart';,…)的等价物是什么?,angular,angular-ui-router,Angular,Angular Ui Router,我对Angular 1的ui路由器有经验,现在我想知道如何在ui-router-ng2中收听$stateChangeStart 请让我知道如何在Angular 2中完成以下Angular 1代码 $rootScope.$on('$stateChangeStart', function(event, next) {}); 例如,Nice Plunkr: transitionService.onStart({from: 'home', to: 'other'}, ()=>{ conso
$stateChangeStart
请让我知道如何在Angular 2中完成以下Angular 1代码
$rootScope.$on('$stateChangeStart', function(event, next) {});
例如,Nice Plunkr:
transitionService.onStart({from: 'home', to: 'other'}, ()=>{
console.log("state changed");
})
在ui-router-ng2上,您拥有具有所有状态生命周期的服务(TransitionService):
1) 您需要在构造函数上注入服务:
import {TransitionService} from "ui-router-ng2";
constructor(private transitionService:TransitionService) {}
2) 回调函数:
transitionService.onStart({}, ()=>{
console.log("state changed");
})
在第一个值上,可以设置条件,例如:
transitionService.onStart({from: 'home', to: 'other'}, ()=>{
console.log("state changed");
})
(仅当当前状态为“home”且下一状态为“other”时,回调才会调用)
**您还可以调用onSuccess、onError、onEnter、onFinish等
我希望这对你有帮助
祝你好运 您尝试过文档吗?关于转换服务的所有内容:关于在组件中添加转换挂钩的一个警告:它们不会自动清理,因此如果组件将使用
ngondestry
销毁,则必须显式清理它们。我的建议是不要在组件中添加转换挂钩。最好在服务中添加转换挂钩,因为构造函数只调用一次。