我正在尝试在我的项目中创建一个新的 ractive 组件,就像一个简单的测试用例一样。但是,当呈现包含该组件的部分时,我在 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;
});
然后在父 ractive 中,我有:
components: {
'productComponent': productComponent
}
其中 productComponent 是对 productComponent.js 文件的引用
模板使用它在循环中创建组件
{{#items:key}}
<productComponent product="{{product}}" />
{{/items}}