关于vue echart组件id重复不加载的问题?
因其他原因,未使用vue-cli等其他脚手架(也不能使用)进行开发,但是需要使用vue组件
目前采用下面这种方法开发echart组件
<script type="text/x-template" id='component-map'>
<div class="flex-box" style="height:100%;width:100%;padding: 10px;">
<div id="chart-map" class="flex1"></div>
</div>
</script>
el: '#test',
components: {
'chart-map': {
template: '#component-map',
props: ['data'],
data() {
return {
test: 'sdafsafasdfasfasfa------->',
}
},
mounted(){
this.$nextTick(()=>{
this.initMap()
})
},
methods: {
initMap(){
const chart = echarts.init($('#chart-map')[0])
...
}
},
},
但是在渲染组件的时候,只会加载第一个
<chart-map :data="areadata"></chart-map>
<chart-map :data="areadata"></chart-map>
发现原因:id重复了导致第二个未加载
const chart = echarts.init($('#chart-map')[0])
应该是这导致的,但是不知道如何调整
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
应该能行:
这样改的指导思想是:在用框架开发的项目中,要进行
DOM
操作的时候,首选框架提供的方法,而不是直接调DOM
接口或者用jQuery
选择器。尝试下改成如下代码
改成以 class 的方式去获取 dom 别用 id
或者改用插槽