【发布时间】:2018-07-20 13:57:39
【问题描述】:
我有一个 html 'div',我正在尝试通过以下方式将另一个 div 附加到它:
var myDiv = d3.select("#container")
myDiv.append("div")
我收到以下错误:
myDiv .append 不是函数
有什么想法吗?我正在使用 Vuex,所以我在商店中实例化了变量并尝试将其设置为 d3 选择。
我已经组装了一个类似于我所拥有的代码笔:https://codepen.io/anon/pen/oMBGmd?editors=1010
const store = new Vuex.Store({
state: {
networkVariables: {
node: "",
data: [1, 2, 3, 4, 5]
},
container: ""
},
getters: {},
mutations: {}
});
console.log("line 33");
console.log(store);
var networkVariables = store.state.networkVariables;
var container = store.state.container;
container = d3.select("#container");
console.log(networkVariables);
networkVariables.node = container
.selectAll(".node")
.data(networkVariables.data);
console.log(networkVariables.node);
networkVariables.nodeEnter = networkVariables.node.append("div");
【问题讨论】:
-
我无法重现。您可以创建一个正在运行的 sn-p,或者使用 JSFiddle 之类的网站重现该问题吗?
-
很可能没有 ID 为
divId的标签。选择为空或未定义。使用调试器看看 myDiv 是什么? -
@rioV8 不,不会出现上述错误。
-
问题是,我在我的代码中的其他地方有这个工作。发现很难复制。可能是数据问题,我检查了该元素是否存在。我知道这个问题很模糊,而且我没有例子很烦人,我只是想知道是否有人遇到了同样的事情
-
有一点需要注意,我使用的是 VueJs、webpack 和 Babel,可能这些有不一致的地方?
标签: javascript d3.js vue.js