2

嗨,我有一个把手灰烬应用程序的if else语句始终显示如果,从来没有余烬文档中的其他这个Ember.js句柄if语句有什么问题?

我看了所有我能herehere 并搜查净无数次:(

我控制器和模板的代码出现下面我想这个问题可能有一些做与我的控制器引用不是我的控制器之前被载入我的会话初始化?

我已阅读herehere和许多其他PL尖子我都忘记了:(努力学习如何让我的初始化我的控制器

以下之前加载是

<nav role="navigation" class="navbar navbar-default navbar-fixed-top"> 
    <div class="container-fluid"> 
     <!-- Brand and toggle get grouped for better mobile display --> 
     <div class="navbar-header"> 
      <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle"> 
       <span class="sr-only">Toggle navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
      </button> 
      {{#link-to "index" class="navbar-brand"}}Hide The Word{{/link-to}} 
     </div> 
     <!-- Collection of nav links and other content for toggling --> 
     <div id="navbarCollapse" class="collapse navbar-collapse"> 
      <ul class="nav navbar-nav"> 
       {{#if 'registered'}} 
       <li>{{#link-to "user" userId}}{{user}}{{/link-to}}</li> 
       <li>{{#link-to "logout"}}Logout{{/link-to}}</li> 
       {{else}} 
       <li>{{#link-to "login" class = "navbar-right"}}{{user}}{{/link-to}}</li> 
       <li>{{#link-to "login" class = "navbar-right"}}Sign In{{/link-to}}</li> 
       {{/if}} 
       <button{{action 'test'}}>test</button> 
      </ul> 
     </div> 
    </div> 
    </nav> 
{{outlet}} 

的application.js

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    user:function(){ 
     if(this.get('session').authed){ 
      var provider = this.get('session').authData.auth.provider, 
      name = this.get('session').authData[provider].displayName; 
      return name; 
     }else{ 
      return 'Hi Guest' 
     } 
    }.property(), 

    registered:function(){ 
     if(this.get('session').authed){ 
      return true; 
     } 
     else{ 
      return false; 
     } 
    }.property(), 
}); 

回答

7
我的应用程序控制器的代码和我的应用程序模板

您的if语句的值被引用。

{{#if 'registered'}} 

应该是:

{{#if registered}} 

我认为会解决它。用引号,它总是会评估为真。

+0

感谢这么简单的错误 – tharderer