关于vue.js:Vueextend有怎么用

41次阅读

共计 562 个字符,预计需要花费 2 分钟才能阅读完成。

Vue.extend 传入一个合乎 vue 选项的对象,返回一个 vue 结构类,

Vue.extend 在任何中央都能拿到 vue 实例。

例如,做一个揭示类的弹窗,只是更改了文字内容和色彩、图标

import alert from "./components/alert";

Vue.mixin({
    methods: {showNotice: function(msg, el) {const Constructor = Vue.extend(alert);
            const vm = new Constructor();
            vm.$data.message = msg;
            vm.$mount(el);
        }
    }
})
<template>
    <button @click="showNotice(' 弹我 ', $refs.cover)"> 点我 </button>
    <div ref="cover"> 这是一个弹出层的蒙版 </div>
</template>

这样在页面中只有调用那个定义的办法,而后传参 (参数能够用对象的模式传过来,本人改一下就行了) 过来就能实现弹窗,不必再每个页面去引入组件,data 定义一个变量去保留 message,components 注册组件,再调用加载绑定

理论开发过程中很多中央都能用这样形式去抽离组件,UI 库外面的一些组件也是这样的模式装载的。

Vue.extend 另一个用得很多的是在单元测试中

正文完
 0