vue2报错 Failed to resolve directive: el
为什么会报这个错呢,主要还是因为vue升级的时候,v-el在vue2.x以后被淘汰。使用新的标签ref替换v-el,接下来告诉大家怎么使用。
之前v-el的写法
1 <div class="menu-wrapper" v-el="menu-wrapper"> 2 <ul class="menu"> 3 <li v-for="item in goods" class="menu-item"> 4 <span class="text"> 5 <span v-if="item.type>0" class="icon" :class="classMap[item.type]"></span>{{item.name}} 6 </span> 7 </li> 8 </ul> 9 </div>
这是使用ref的写法
*请注意:menuWrapper不能使用menu-wrapper这种写法了
1 <div class="menu-wrapper" ref="menuWrapper"> 2 <ul class="menu"> 3 <li v-for="item in goods" class="menu-item"> 4 <span class="text"> 5 <span v-if="item.type>0" class="icon" :class="classMap[item.type]"></span>{{item.name}} 6 </span> 7 </li> 8 </ul> 9 </div>
对应的这里通过js获取dom元素的时候,写法也发生变化
1 this.menuScroll = new BScroll(this.$refs.menuWrapper, {})