Я пытаюсь создать новый реактивный компонент в своем проекте, как простой тестовый пример. Однако, когда отображается раздел, содержащий компонент, я получаю сообщение об ошибке в ractive.js о том, что Component.defaults не определен в строке
adapt = combineAdaptors( root, Component.defaults.adapt, Component.adaptors );
На самом деле в объекте Component есть только тот компонент, который я добавил.
Для справки: я использую Ractive.js 4.0.
// productComponent.js
define(['ractive', 'rv!accordion/productComponent'], function(Ractive) {
var productComponent = {};
// add module properties here
productComponent.ProductComponent = Ractive.extend({
template: productComponent,
init: function(options) {
console.log('init');
},
data: {
}
});
Ractive.components.productComponent = productComponent.ProductComponent;
return productComponent;
});
Затем в родительском ративе у меня есть:
components: {
'productComponent': productComponent
}
Где productComponent — это ссылка на файл productComponent.js.
Шаблон использует это для создания компонента в цикле.
{{#items:key}}
<productComponent product="{{product}}" />
{{/items}}