我有一个控制器,包裹UI路由器和控制其流量(如菜单栏)。 当用户按下菜单项时,有一个功能可以改变ui-router状态并将一个事件广播给内部控制器。 此ui路由器内的每个内部控制器都可以监听并处理此事件。 内部控制器正在对此事件进行验证,但如果验证失败,我无法撤消状态更改。 任何想法如何解决这个问题? 感谢角度控制器 - 双向广播
更新: 使用UI路由器$ stateChangeStart事件是一个好方法,但仍然不完整的。 现在的问题是, 我的主控制器,主机的UI路由器和菜单栏有一个进度条。 主控制器注册到$ stateChangeStart并处理进度条,但也注册到事件的子视图阻止默认值。这意味着控制器现在处于不一致的模式。主控制器已经照顾了进度条并且视图本身没有改变。 请告知
您可以添加监听stateChange开始活动,而且只有改变状态时,你的条件satified(把验证在stateChange启动事件处理程序) –