Javascript 将值绑定到角度模板中的ng开关
我是个新手。我有一个显示导航的指令:Javascript 将值绑定到角度模板中的ng开关,javascript,angularjs,Javascript,Angularjs,我是个新手。我有一个显示导航的指令: (function(){ angular .module('instaguideApp') .directive('navigation', navigation); function navigation(authenticationData){ return { restrict: 'EA', templateUrl:
(function(){
angular
.module('instaguideApp')
.directive('navigation', navigation);
function navigation(authenticationData){
return {
restrict: 'EA',
templateUrl: '/common/directives/navigation/navigation.template.html',
scope: false,
link: function(scope, elem, attr) {
scope.data = {
isLoggedIn: authenticationData.isLoggedIn
};
}
};
}
})()
navigation.template.html是:
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header"><a href="/" class="navbar-brand">InstaGuide</a>
<button type="button" data-toggle="collapse" data-target="#navbar-main" class="navbar-toggle"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
</div>
<div id="navbar-main" class="navbar-collapse collapse">
<ul ng-switch="{{data.isLoggedIn}}" class="nav navbar-nav">
<li><a href="/#about">About</a></li>
<li ng-switch-default>
<a href="/#login">Login</a>
</li>
<li ng-switch-when="true">>
<a href="/#logout">Logout</a>
</li>
<li>Debugging Value: {{data.isLoggedIn}}</li>
</ul>
</div>
</div>
</div>
成功登录后,我将authenticationData的“isLoggedIn”设置为true。发生这种情况时,我希望在导航中显示注销,而不是登录。您可以看到我正在使用ng开关试图实现这一点
当我登录时,模板收到我已登录的消息,因为我可以看到“调试值:false”更改为“调试值:true”
然而,登录和注册仍然出现在菜单中,就好像ng开关没有注册它的值已经更改一样。知道如何实现这一点吗?尝试删除ng开关值中的括号:
<ul ng-switch="data.isLoggedIn" class="nav navbar-nav">
ng开关的值应为角度表达式。因此,没有必要将值括在双括号中。只是解决了这个问题,谢谢为什么会有令人厌烦的否决票?再说一遍,为什么会有否决票?这个社区的反对票变得非常令人厌烦。不是反对票,但这可能是因为这是一个非常简单的问题,有一个问题(显然不是顺便提一下)可以通过阅读文档中的示例来解决。
<ul ng-switch="data.isLoggedIn" class="nav navbar-nav">