mixin

256 阅读1分钟

vue里的mixin(混入),我在官网看了两三遍,还是不大理解,不为难自己,直接百度看看有没有大神能浅入浅出的讲讲,被我找到了,于是有了这篇记录文。

  1. 定义一个mixin可以存放一些公共变量和方法。与vuex不同的是,当在组件中使用mixin时,变量修改不会影响到原mixin,也就是说mixin可以在不同组件里使用并被修改,而互不影响。

  2. 当在methods这种后面直接大括号(代表对象)里写方法的,如果组件和mixin都在methods里定义的方法冲突,会执行组件里定义的方法。 当在钩子函数中定义的方法,不存在冲突,会先执行mixin里的混入方法。

  3. mixin和公共组件的区别就是:公共组件是子组件,即使是父子,也要明算账;而mixin就是入乡随俗,来了就是一家人,关键它也不空手来,还带了变量和方法来给父组件。

  4. mixin中可以有异步方法,但是要把异步方法作为返回值来return,只return结果是没有用滴,是拿不到滴。

methods:{
    async func(){
        let result = await new Promise((resolve,reject)=>{
            setTimeout(()=>{
                resolve()
            },1000)
        })
        return result
    },
}                                      // 模拟发请求