0
私はEmber.jsの治具アダプタで遊んでいます。`reopenClass`のクラスを` extend`を使ってクラスを拡張するのとどのように変更するのですか?
この:
let cars = DS.Model.extend({
make: attr('string'),
model: attr('string'),
year: attr('string'),
});
cars.reopenClass({
FIXTURES: [
{
id: 1,
model: 'foo',
make: 'bar',
year: '2001'
}
]
});
素晴らしい作品
:
let cars = DS.Model.extend({
make: attr('string'),
model: attr('string'),
year: attr('string'),
FIXTURES: [
{
id: 1,
model: 'foo',
make: 'bar',
year: '2001'
}
]
});
この一方
"備品を見つけることができません" をスローします。私はそれらが同じであることを期待します、しかし、違いは何ですか?
明確にするには、 'reopenClass'は基本的にEmberのクラスの静的属性を指定するために使用されます。 'extend'と' reopen'はインスタンス属性を定義したり上書きするためにクラスで呼び出されます。それは適切な説明だとお考えですか? – pixelpax
'reopenClass'を修正しました。 'extend'と' reopen'の違いは、 'extend'が* new *クラスを作成し、' reopen'が既存クラスを変更することです。しかし、ええ、両方ともインスタンス/属性です。 – Lux