我有以下D3代码可以按预期工作。
``http://jsfiddle.net/6Ldad16n/3/
现在,我需要在Ext JS代码中运行它。所以我为这个
创造了另一个小提琴``http://jsfiddle.net/07kk8fzs/
我相信在Ext JS中还需要其它东西才能使它工作,因为显示的结果是空白的,并且控制台中没有错误。
有人可以帮我解决这个问题吗。
谢谢
答案 0 :(得分:1)
你不应该覆盖afterRender
方法(它是一种私有方法,因此你不应该依赖它的存在),而是将它放在你的initComponent
方法中:
this.on('afterrender', function(){
this.loadScript(this.onD3Loaded, this);
}, this);
您的代码应该在没有此修改的情况下工作,但最佳做法是添加您自己的事件侦听器,而不是覆盖框架。
此外,您的代码只定义了您的d3.widgets.Treeview
类,它没有实例化它。请尝试在Ext.define
:
Ext.create('d3.widgets.Treeview', {
renderTo : Ext.getBody()
});
我测试过将它添加到你的小提琴中,但其他东西会抛出错误,我不知道D3足以调试它