Vue.extend构造函数的使用--实现alert方法

由于项目中经常会用到alert这种组件,这种组件一般是在js中被调用,vue中组件主要是使用了标签的形式,
现记录通过Vue.extend实现的动态组件
Vue-extend官网链接

官网案例
// 创建实例
var Profile = Vue.extend({
  template: '

{{firstName}} {{lastName}} aka {{alias}}

', data: function () { return { firstName: 'Walter', lastName: 'White', alias: 'Heisenberg' } } }) // 创建 Profile 实例,并挂载到一个元素上。 new Profile().$mount('#mount-point')
alert实例开发

官网的案例还是很清楚的,现在我们给予官网的实例拓展alert组件如何开发。
我们需要新建一个目录,目录中有俩个文件index.js和main.vue

main.vue




index.js
import Vue from 'vue';
import main from './main.vue';
let MyAlertConstructor = Vue.extend(main);
let instance;
var MyAlert=function(message){ //自定义传入的参数
  // 创建实例并且过滤参数
  instance= new MyAlertConstructor({
    data:{
      message:message
    }})
  // 挂载实例
  instance.$mount();
  document.body.appendChild(instance.$el)
  return instance;
}
export default MyAlert;

使用
import Hint from '../brick/Hint/index.js'
Hint({name : 'name'}).$on('results', (text) => {
        console.log(text);
      });

你可能感兴趣的:(Vue.extend构造函数的使用--实现alert方法)