1
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 没有在我的模板中被调用。为什么是这样?

4

1 回答 1

0

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

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

有关这一切如何工作的更多详细信息,请参阅重新打开类和实例指南。

于 2013-08-15T03:52:31.303 回答