如何从模板中调用ember.js中的模型函数?

时间:2013-08-15 02:44:57

标签: javascript ember.js handlebars.js

App.Post = Em.Object.extend({
    content: null
});

App.Post.reopenClass({
    getLink: function() {
      console.log("test");
    }.property('content')
});

----template clip----
            {{#each this}}
                {{getLink}}
                {{content}}
            {{/each}}

getLink未在我的模板中调用。这是为什么?

1 个答案:

答案 0 :(得分:0)

在ember中,reopenClass用于创建类方法或向类本身添加属性。所以你已经定义了App.Post.getLink,但模板似乎正在寻找App.Post实例上的getLink属性。可能你想要的是使用reopen,它将方法和属性添加到类的所有实例。

App.Post.reopen({
  getLink: function() {
    console.log("test");
  }.property('content')
});

请参阅reopening classes and instances指南,详细了解这一切是如何运作的。