angularjs ui-if状态变量设置值async

angularjs ui-if state variable setting value async

我想在用户登录完成之前限制侧边栏

边栏在 ui-视图部分之外

我假设 authenticated 作为状态变量

<div ng-controller="MyController" ui-prevent-touchmove-defaults>
    <section style="height: 100%" layout="row" flex="">
        <div ui-if="authenticated" ng-include="'pages/sidebar.html'"></div>
        <md-content id="container" style="overflow:hidden;height: 100%;padding: 0 0 0 0" ui-view flex=""></md-content>
    </section>
</div>

在JavaScript代码中我有一个初始值

SharedState.initialize($rootScope, "authenticated", false);

但是当我登录后调用这个方法时

SharedState.initialize($rootScope, "authenticated", true);

UI没有出现,如何实现,有没有触发方法重新渲染?

您可以在控制器级别调用一次初始化方法,但触发 ui 状态您可以使用 turnOn 方法

SharedState.turnOn("authenticated");

参考Mobile Angular UI Documentation - SharedState:turnOn