我的基本 vue 代码如下所示:new Vue({ el : '#friendlist', data : { friends : [] }, methods : { fetchStats : function(){ const axios_data = { _token : $('meta[name="csrf-token"]').attr('content') }; axios.post('/friend-stats/all', axios_data).then(response => { this.friends = response.data; }); } }, mounted : function(){ this.fetchStats(); },现在,对于数组friend中的每个friends,我需要渲染一个 d3.js 图表。我在另一个 JS 文件中有一个可以正常工作的方法,它被称为create_spider_chart(friend, target). 该friend变量包含来自我们上面的 vue 组件的朋友数组的成员,并且target是图表应该附加到的目标元素。这就是问题出现的地方。如果我在 axios 调用的响应中这样做:this.friends = response.data.data;let target;for(let i=0;i<this.friends.length;i++){ target = '.spider-graphic-mini[data-id="'+this.friends[i].id+'"]'; create_spider_chart(this.friends[i], target); //d3.js}该元素.spider-graphic-mini[data-id="'+this.friends[i].id+'"]确实存在于 HTML 中:<template v-for="(friend,key) in friends"> <div class="col-md-6 friend-panel p-3"> <h5>@{{ friend.name }}</h5> <div class="spider-graphic-mini mb-4" :data-id="friend.id"></div> </div></template>但是,当我将该标识符传递给create_spider_chart函数时,该元素显然不存在。如此$(target),length=0函数不知道在哪里创建图表。我该如何解决这个问题?
添加回答
举报
0/150
提交
取消