vue2 - ref属性与mixin属性

ref属性:

替代DOM原生操作中的id获取元素,ref还可以获取组件(VueComponent)

  <div id="app">
    <p ref="say">hello,world</p>
  </div>

<script>
  const vue=new Vue({
    el: '#app',
    methods: {
      getElement(){
        //获取ref为say的element
        console.log(this.$refs.say)
      }
    }
  })
</script>

 


 

mixin属性:

mixin混合就是把一些公共的属性与方法抽取出来,要使用时即可方便使用

定义公共的属性与方法 - mixin.js

export const mixinFn={
 //公共的方法
  methods: {
    info(){
      //定义的公共的方法
      console.log("我是mixin中的共享方法")
    }
  },
  //生命周期
  mounted() {
    //生命周期方法
  },
  beforeDestroy() {
    //生命周期方法
  }
}

export const mixinData={
  data(){
    return {
      //公共的属性
      name: 'levi',
      age: 18
    }
  }
}

 

在组件中使用:human.vue

导入mixin.js,在组件中定义mixins: [] 声明要使用的属性或者方法

注意:

1.如果组件中的data中的属性或方法与mixin中的data中的属性或方法有冲突,优先使用当前组件中的属性或方法

2.如果生命周期方法有冲突时,组件与mixin中的方法都会执行,mixin中的方法先执行 组件中的方法后执行

<template> </template>

<script>
  import {mixinFn,mixinData} from "./mixin";

  export default {
    data(){
      return{
        name: 'miakasa'
      }
    },
    //使用方式1
    mixins: [mixinFn,mixinData]
  }
</script>

<style> </style>

 

定义全局mixin:main.js

所有的组件都有mixin里面的属性与方法,一般不建议使用

import Vue from 'vue'
import App from './App.vue'

//导入mixin
import {mixinFn,mixinData} from "./mixin";
//使用 所有的组件都有mixin里面的方法与属性
Vue.mixin(mixinFn)
Vue.mixin(mixinData)

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')

 

posted on 2022-05-03 17:22  每天积极向上  阅读(164)  评论(0编辑  收藏  举报

导航