模型更新后,Ember模板不会更新

时间:2014-03-25 16:27:11

标签: ember.js model

http://jsbin.com/qoyudape/1/edit

尽管使用.pushObject()模板并未更新。我已经注意到它会更新,如果改为this我在模板中使用modelcontent;

视图中的this是指模型?是否可以使用this而非modelcontent使其正常工作?

var App = Ember.Application.create();

App.ApplicationRoute = Ember.Route.extend({
  model: function(){
    return Ember.A();
  }
});

App.ApplicationController = Ember.ArrayController.extend({
  actions: {
    update: function(){
      this.get("model").pushObject( Ember.Object.create({a:"b"}) );
      console.log( this.get("model") );
    }
  }
});

模板:

<script type="text/x-handlebars">

    <button {{action "update"}}>update</button>
    <br><br>

    {{#if this}}
      array not empty
    {{else}}
      array empty
    {{/if}}
  </script>

1 个答案:

答案 0 :(得分:1)

this指的是控制器。顺便说一句,找出它的一种简单方法是在模板中执行{{log this}},另请参阅:http://emberjs.com/guides/understanding-ember/debugging/

我实际上并不确定它的真实性是什么,但你可以随时使用长度。我找到后会立即更新。

{{#if this.length}}
  array not empty
{{else}}
  array empty
{{/if}}

http://jsbin.com/qoyudape/3/edit