根据ui.router状态隐藏元素根本不起作用

时间:2015-07-31 04:59:44

标签: javascript jquery angularjs

<section class="navbar" ng-controller="NavbarCtrl" ng-hide="$state.current.name === '/events'">
    <div class="navbar__container">
    </div>
</section>

我有这个导航栏,如果我在/ events页面中,我想让它不显示。一切都已确定,但没有任何反应。

$stateProvider.state('/events', {
 url: '/events',
 templateUrl: '/admin/event/event.tmpl.html',
 controller: 'EventCtrl'
});

这是什么问题?我无法弄清楚方式是不行的。

2 个答案:

答案 0 :(得分:0)

您的ng-hide无法正常工作,因为您的观点对$state一无所知。

要在视图中使用$state,您需要将其分配给控制器中的范围变量。

$scope.$state = $state; // of course you need to inject it in your controller

答案 1 :(得分:0)

您可以对isStateng-show使用ng-hide过滤器。

ng-show="('a.b.1' | isState) || ('a.b.2' | isState)"