我想在树面板中添加一个自定义对象作为树节点。它将被用作
var complex_object = {....}
myTree.getRootNode().appendChild(new MyNode(complex_object));
为了实现这样的功能,我发现Ext.data.NodeInterface
它为树节点提供了一个通用接口。所以我试图扩展它。这是它的完成方式。
var MYNS = {
TreeNode: new Ext.Class({
protocol : "",
displayName : "",
extend: 'Ext.data.NodeInterface',
constructor : function(line) {
this.protocol = get_protocol(line);
this.displayName = get_display_name(line);
var configObj = {
id : this.protocol + "-" + this.displayName,
text : this.displayName,
leaf : true,
iconCls : protocol+"-user"
};
this.callParent([configObj]);
}
})
}
事实证明,这不会创建任何扩展类Ext.data.NodeInterface
. 但是,它创建的对象 bud 无法从其父项中发挥作用。
var a = new MYNS.TreeNode(...);
a.appendChild(); // throws error
我做错了吗?如何正确地做到这一点?