gpt4 book ai didi

ember.js - 如何扩展 Ember 的对象?

转载 作者:行者123 更新时间:2023-12-01 09:05:01 25 4
gpt4 key购买 nike

我正在寻找一种方法来扩展 Ember 的对象以包含一些额外的方法,以便它们可以在我的应用程序中的每个对象( View 、ArrayController 等)中使用。

具体来说,我想定义一些方法,引入 Controller 、模型、 View 、模板、助手等的一些命名约定。

例如:

如果View的类名是ArticlesListView那么它的关联模型是Article, Controller Action 在中被命名为list ArticlesController,模板在app/articles 名为list.js.hjs...

最终结果应该是,例如,App.ArticlesListView.model() 将返回 App.Article

那么如何扩展核心 Ember 对象

Ember.Object.extend({     // <--- ???

model: function(context, params){

}
});

最佳答案

增强现有对象的一般问题的答案是使用reopen:

Ember.Object.reopen({
foo: function(){
return 'bar';
}
});

至于您的更具体的问题,这更具挑战性。对象通常不知道分配给它的属性的名称。您可以通过遍历命名空间(包括 App)的属性并找到与当前类匹配的属性来实现您的目标。您可以缓存该属性名称以备将来使用。

另一种方法是定义一个帮助方法来定义新模型、 Controller 等,您可以将名称传递给这些方法。该方法可以处理创建子类,将其分配给 App 的属性,并使用名称设置实例变量。

关于ember.js - 如何扩展 Ember 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com