Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将值绑定到角度模板中的ng开关_Javascript_Angularjs - Fatal编程技术网

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">