在单元测试中遇到了Vue的不常用api Vue.extend 和 vm.$mount
例如:
it('接收 offset 属性', () => {
const div = document.createElement('div')
document.body.appendChild(div)
const Construtor = Vue.extend(Col)
const vm = new Construtor({
propsData: {
offset: 1
}
}).$mount(div)
const element = vm.$el
expect(element.classList.contains('offset-1')).to.eq(true)
div.remove()
vm.$destroy
})
用Vue.extend 创建出一个新的Col实例,extend创建的实例传参需要以对象的形式
$mount挂载到div中,如果$mount()不传参数,默认挂载到body上
当mount之后,就可以用$el取到当前元素
在测试完成后,应该要删除在body中div和销毁extend创建的实例
- 本文链接:http://horry233.github.io/2020/12/07/Vue-extend-%E5%92%8Cvm/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub Issues