Я запутался, когда читал документацию на emberjs.com http://emberjs.com/documentation/#toc_reopening-classes-and-instances
На приведенной выше странице это объясняется следующим образом.
Person.reopen({
// override `say` to add an ! at the end
say: function(thing) {
this._super(thing + "!");
}
});
Как вы можете видеть, повторное открытие используется для добавления свойств и методов в экземпляр. Но когда вам нужно создать метод класса или добавить свойства к самому классу, вы можете использовать reopenClass.
Person.reopenClass({
createMan: function() {
return Person.create({isMan: true})
}
});
Person.createMan().get('isMan') // true
хотя объяснение говорит, что "повторное открытие используется для добавления свойств и методов в экземпляр". Я думаю, что оба примера, показанные выше, говорят о том, как создать метод класса или добавить свойства к самому классу, а не к экземпляру.
Неужели я не понимаю, что он говорит? Я не опытный программист, поэтому меня могут неправильно понять...
Пожалуйста, объясните, когда использовать повторно открыть и повторно открыть кластер, если меня не поняли.
Спасибо заранее!