1
在灰燼的性質,這是我做的:灰燼的Object.create()的最後一個實例
我宣佈這些對象
MyObject = Ember.Object.extend({
//some serialization logic
});
FormViewContainer = MyObject .extend({
type: "FormViewContainer",
label: "",
options: {
css: "",
class: "",
attr: []
},
items:[]
});
FormViewField = MyObject.extend({
type: "FormViewLibreField",
isCodif: false,
question: {},
answer: undefined,
options: {
css: "",
class: "",
attr: []
}
});
然後在我的應用程序:
var cont = FormViewContainer.create({
label: "My Label",
options: {
class: "cssclassestuff"
}
});
Data.Questions.forEach(function (c) {
var field = FormViewField.create();
field.set("question",c);
cont.get('items').push(field);
});
//items are in the array, they are 6!
cont.get('items').length == 6
這就是我沒有得到的部分。我創建了一個新的實例(據說),但我
FormViewContainer.create().get('items').length == 6
的Object.create()實際上是通過我的對象構造複製從另一個實例項目到這個新的!
它只複製「items」屬性,標籤和選項不受影響。
我試着分配帶有/沒有get/set訪問器的屬性,並得到了相同的結果。
如果有人有想法?
我在平均時間排序這個問題,以及通過創建在創建對象的屬性。謝謝! – Jmorvan
它是有道理的,因爲第一個例子中的數組實例放在原型上,所以它可用於類的所有實例。 – ahaurw01
ahaurw01,現在我想到了,這是非常有意義的。我來自C族世界,所以原型有點難以使用。雖然我不太肯定爲什麼原型上的其他字符串/對象等不是「共享」字符串/對象。 – Kingpin2k