学习自定义插件,我试图测试一个虚拟DOM
import Vue from 'vue'
import MyPlugin from '@/plugins/MyPlugin'
Vue.use(MyPlugin)
describe('MyPlugin', () => {
let vm
beforeEach(() => {
vm = new Vue({
template: '<div id="app" class="container" v-demo:hello.a.b="msg"></div>',
el: '#app',
data: {
msg: 'hello!'
}
}).$mount()
})
it('should run', () => {
Vue.myMethod()
console.log('INNER: ', vm.$el.innerHTML)
expect(true).to.equal(true)
})
})
但是我收到了错误:
错误日志:&#39; [Vue警告]:找不到元素:#app&#39;
尚未在模板中定义??
感谢您的反馈
答案 0 :(得分:0)
el
属性用于指定当前在DOM中安装Vue实例的元素。
您无法在Vue实例的模板中指定该元素,因为它需要在DOM渲染之前安装在DOM上的某个位置。
您需要将一个标识为#app
的元素添加到您的Vue实例之外的html中,并从其模板中的div中删除id="app"
。