我的用户可以离开状态,但在我想显示模式对话框“你想保存吗?”之前
仅当用户数据脏时才意味着已更改。
我不想要的是将 EditController 中的 isDirty 属性粘贴到 $rootScope 转到 stateChangeStart 事件并检查 isDirty,然后显示/不显示保存对话框。
每本 JavaScript 初学者书籍都说防止全局变量...
1.) 那么在不破坏 $rootscope 的情况下防止状态更改的专业方法是什么?
2.) ui-router 是否有任何辅助库可以增强 ui-router 在控制器内部提供函数挂钩以封装 ui 逻辑?
(1) 根据docs https://github.com/angular-ui/ui-router/wiki under 状态改变事件
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
event.preventDefault();
// transitionTo() promise will be rejected with
// a 'transition prevented' error
})
您可以在适当且可行的情况下将 $rootScope 更改为 $scope。
Under 将自定义数据附加到状态对象,您可以传递自定义数据。
(2) 我不确定你在问什么,但工厂/服务/提供商确实会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)