ngShow无法与UI-Router StickyStates一起使用

时间:2019-04-19 15:39:15

标签: angularjs angular-ui-router

我们正在将AngularJS 1.7.x与UI-Router v5和粘性状态一起使用。该应用程序位于CodePen项目中:https://codepen.io/DavidNJ/project/editor/XgLYyz

基本上,粘性状态使状态保持活动状态,就像父状态保持活动状态一样。要只显示一个,其他的都需要隐藏。

UI-Router建议使用ng-show。为了使这一点更容易理解,该应用程序将$state.includes(<state name>)封装在一个写入日志消息的函数中。它表明true返回了ng-show

    <div ui-view="v1" ng-show="ac.inState('view1')"></div>
    <div ui-view="v2" ng-show="ac.inState('view2')"></div>

    vm.inState = (state)=>{
        console.log("checking " +state +": "+$state.includes(state));
        $state.includes(state);
    };

ng-showng-hide类放入标记中,直到ng-showtrue。但是,即使函数返回true,该类也不会更改为ng-show

这可能很简单,但却使我们很困惑。

谢谢

大卫

0 个答案:

没有答案