我可以正常渲染我的D3 SVG。它会在我的页面上呈现为自己的div。我需要结合Enyo 2.4的一些功能,我也可以渲染它,但它会覆盖我的D3图形。我正在将Enyo代码渲染到它自己的div中。 2可以存在于同一页面上吗?我知道这是一个复杂的问题,有很多变量,但我基本上知道有没有人成功地将两个框架组合在同一个页面上,如果是这样的话怎么样?
答案 0 :(得分:3)
我没有和d3一起工作,但能够把两者都放在一起。对于像这样的其他库,我通常选择让Enyo进行主要布局,然后将另一个渲染成Enyo控件。我不知道这是否适合你,但这是我使用的代码。
http://jsfiddle.net/ryanjduffy/PfwNL/1/
function buildGears(node) {
// code taken from http://bl.ocks.org/mbostock/1353700
}
enyo.kind({
name: "ex.App",
kind: "FittableRows",
components: [
{kind:"onyx.Toolbar", components: [
{content: "d3 + EnyoJS"}
]},
{name: "d3", kind:"Scroller", fit:true}
],
rendered: enyo.inherit(function(sup) {
return function() {
sup.apply(this, arguments);
if(this.hasNode()) {
buildGears(this.$.d3.node);
}
};
})
});
new ex.App().renderInto(document.body);