Angular UI 路由器,菜单在 $state 更改时失去功能

Angular UI Router, Menu loses functionality on $state change

我的菜单有一个嵌套视图,这是一个向其添加 类 和功能的指令,即 collapse/suppress。如果这些链接之一具有该功能,则菜单中的项目可以更改为不同的集合。我的问题发生在菜单重新填充后,因为它失去了 collapse/expand 以及点击功能。我确定这是在我的 LayoutCtrl 中的 $changeState 事件中处理的问题,但我还没有找到 re-instate 指令功能的方法:

任何有关如何 re-instate 菜单上的折叠和单击事件 re-population 的帮助将不胜感激。

我通过 $watch 事件找到了解决方案:

 <ul data-anu-menu="" menu-items="layout.menuItems">


        scope:{
            menuItems: '='
        },
        link: function (scope, element, attrs) {
            scope.$watch('menuItems', function (val1, val2) {
                if (val1.length != val2.length) {
                   $timeout(processMenu, 0);
            }});