我一直在尝试使用组件加载器,如 component spec 中所述。 。我不确定如何通过组件文件执行类似的操作:
var bookmarkableBaseClass = Ractive.extend({
oninit : function(){
this.on(commonBookmarkEvents);
},
data : {
badgeDefinitions: globalCommonBadgeDefinitions
}
});
Ractive.components.singlecard = bookmarkableBaseClass.extend({
template: "#smallcarditem"
});
Ractive.components.singleline = bookmarkableBaseClass.extend({
template: "#cardlineitem"
});
换句话说 - 拥有一个扩展另一个具有公共(public)属性的基本组件的组件 - 即公共(public)数据以及公共(public)代理事件处理程序。目前组件规范只允许我包含其他组件,但不能像上面那样具有继承。
最佳答案
目前尚不支持此功能,但 has been discussed 。我认为最好的选择是这样的:
<div class='singlecard'>
<!-- template goes here -->
</div>
<script>
var bookmarkableBaseClass = require('./bookmarkableBaseClass');
component.exports = {
base: bookmarkableBaseClass,
someSubclassMethod: function () { /*...*/ }
};
</script>
任何现有的组件加载器都可以轻松修改以实现此目的 - 您使用的是哪个?
关于javascript - 使用加载器时扩展 Ractive 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347230/