[英]What is the Ember way of converting retrieved Ember Data records into plain objects?
[英]Can't we use plain Ember Objects in place of Ember Mixins?
基本上我無法理解 Ember Object 和 Ember Mixin 之間的區別。 如果 Ember.Mixin.create() 本身是從 Ember.Object 擴展的,那么為什么我們不混合由 Ember.Object.create() 而不是 Ember.Mixin.create() 創建的對象呢?
為什么我們不使用這樣的 Ember 對象
let TestObject = Ember.Object.create({
init() {
this._super(...arguments);
this.set('list', Ember.A([]));
}
});
let TestComponent = Ember.Component.extend(TestObject, {});
而不是使用像下面這樣的 Ember mixin
let TestMixin = Ember.Mixin.create({
init() {
this._super(...arguments);
this.set('list', Ember.A([]));
}
});
let TestComponent = Ember.Component.extend(TestMixin, {});
所以我不想討論 mixin 的歷史方面,除非你不應該真正使用它們,特別是你的例子會導致許多錯誤,因為 mixin 之間共享狀態的方式。
在您的 mixin 示例中,當改變列表時,實際上會在不同的組件實例之間共享狀態。
真的,最好的辦法是假裝 mixin 一開始就不存在。
編輯:關於 mixin 折舊的討論https://github.com/emberjs/rfcs/issues/534
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.