Failed to resolve directive: el vue2报错

时间:2025-04-11 11:03:26

vue2报错 Failed to resolve directive: el

为什么会报这个错呢,主要还是因为vue升级的时候,v-el在vue2.x以后被淘汰。使用新的标签ref替换v-el,接下来告诉大家怎么使用。

之前v-el的写法

 <div class="menu-wrapper" v-el="menu-wrapper">
<ul class="menu">
<li v-for="item in goods" class="menu-item">
<span class="text">
<span v-if="item.type>0" class="icon" :class="classMap[item.type]"></span>{{item.name}}
</span>
</li>
</ul>
</div>

这是使用ref的写法

*请注意:menuWrapper不能使用menu-wrapper这种写法了

 <div class="menu-wrapper" ref="menuWrapper">
<ul class="menu">
<li v-for="item in goods" class="menu-item">
<span class="text">
<span v-if="item.type>0" class="icon" :class="classMap[item.type]"></span>{{item.name}}
</span>
</li>
</ul>
</div>

 对应的这里通过js获取dom元素的时候,写法也发生变化

 this.menuScroll = new BScroll(this.$refs.menuWrapper, {})