我在控制器isLogin上有一个属性,该属性绑定到有条件的{{#unless isLogin}}把手。但是,呈现模板时似乎并未激活该功能。我插入了console.log语句,该语句也未显示在控制台中。

我有一个这样的应用程序模板:

<div id="header">
  <div class="screen-line black"></div>
</div>
<div id="content">
  <div class="pure-g">
    <div class="pure-u-1-6">
      {{#unless isLogin}}
        <div class="nav pure-menu custom-restricted-width">
          <ul class="pure-menu-list">
            <li class="pure-menu-item"><div class="menu-item-icon fa fa-trello"></div>{{link-to "Classrooms" "classrooms" class="menu-item pure-menu-link"}}</li>
          </ul>
        </div>
      {{/unless}}
    </div>
    <div class="pure-u-5-6" >
      {{outlet}}
    </div>
  </div>
</div>
<div id="footer">
  <div class="screen-line black"></div>
</div>


像这样的控制器:

import Ember from 'ember';

export default Ember.Controller.extend({
  isLogin : function(){
    console.log("isLogin called");
    return true;
  }

});


你看错了吗?谢谢

最佳答案

也许您应该将isLogin设置为属性,如下所示:

// controllers/application.js

import Ember from 'ember';

export default Ember.Controller.extend({

  isLogin: function(){
    console.log("isLogin called");
    return true;
  }.property()

});


(请参见jsbin

关于javascript - Handlebars 似乎未调用我的 Controller 功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29706134/

10-12 19:46