21. 混入

如果我们有一组公共数据,方法,如ajax链接,适配方法等等,我们不能也不太可能去一个个的组件里写上这些,所以我们需要混入来将公共的内容混入到需要的组件上:

var mixdata={
    data:function(){
      return{
        a1:"a1",
         a2:"a2",
         a3:"olda3"
      }
      
    },
    methods:{
      hello:function(){
        console.log("hello");
        console.log(this.$data)
      }
    }
  }
  var component1={
    data:function(){
      return{
        a3:"a3"
      }
     
    },
    template:`
    <div @click="clickBoard">模板1</div>
    `,
    mixins:[mixdata],
    methods:{
      clickBoard:function(){
        this.hello();
        console.log(this.a3)
      }
    }
  }
  var vue=new Vue({
    el:".app",
    components:{
      component1
    }
  })

如上,mix就被混合进模板里了,点击这个模板合一看到混入数据。
请注意data是一个方法,返回data数据

选项合并

如果混入的数据方法和组件自己的方法数据重合了,那么【以组件的数据方法优先】。
如果你在混合中添加created钩子,你会发现混合的钩子会先于组件的钩子执行,所以组件的内容会覆盖上去。

全局混入

混入也可以全局设定,但就和全局组件一样,一旦设定会出现后面的每个组件当中——

 Vue.mixin({
    methods:{
      sayHello:function(){
        console.log("lets say hello")
      }
    }
  })

自定义选项合并策略

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,086评论 0 29
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,475评论 0 9
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,266评论 0 6
  • vue学习笔记 安装 Vue 提供一个官方命令行工具,可用于快速搭建大型单页应用。只需几分钟即可创建并启动一个带热...
    EL_PSY_CONGROO阅读 1,109评论 0 5
  • 5-7岁,还处在启蒙时期,暂且称之为感知启智班。针对这一阶段的教学,强调一定的动手能力,如适当地使用剪刀,折叠以造...
    Angel梦画艺术阅读 233评论 0 0