javascript - Angular ,ui-路由器 : how to ngShow from Directive template?

标签 javascript angularjs angular-ui-router sails.js

我正在使用这样的代码:

https://github.com/tarlepp/angular-sailsjs-boilerplate/blob/master/frontend/src/app/angular/Directives/NavigationHeader.js

我的模板代码是这样的:

https://github.com/tarlepp/angular-sailsjs-boilerplate/blob/master/frontend/src/app/partials/Directives/NavigationHeader/header.html

问题:

仅当我的 ui-router 状态为“anon.about”时,如何“ngShow”“header.html”中的“div”?

最佳答案

如果您需要检查模板中的状态,您可以执行以下操作:

ng-show="current == $state.includes('<Your State Name>')"

并将当前值作为作用域变量传递,就像当前具有该指令的状态一样。这可以通过注入(inject) $stateParams 依赖项来完成。

更新的代码:

在 header.html 中

<div class="">
  <div data-ng-show="$root.currentStateName=='anon.about'">Test!</div>
  <div>{{$root.currentStateName}}</div>
</div>

在 app.js 中:

.state('anon.about', {
            url: '/about',
            templateUrl: 'about.html',
            controller: function($rootScope,$state){
              console.log($state.current.name);
              $rootScope.currentStateName = $state.current.name;
            }
})

关于javascript - Angular ,ui-路由器 : how to ngShow from Directive template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24663973/

相关文章:

javascript - 为什么在映射此数组时出现空错误?

javascript - 从复选框中获取列表并插入到 css 中

javascript - 隔离范围变量在链接函数内未定义

javascript - 用户界面路由器 : How should you prevent toState from showing while you're checking authorization?

javascript - AngularJS 与 Bootstrap 导航栏一起使用

angularjs - Angular Ui 路由器无法访问我的 Controller 内的 $stateParams

javascript - 在随机位置的侧div中生成数字而不重叠

javascript - 如何防止 JavaScript 中的标签重叠

angularjs - 在 Angular 时调用函数会出现错误 'net::ERR_INTERNET_DISCONNECTED'

javascript - 如何使用 Express、AngularJS、Socket.io 进行广播并获取通知?