vue怎么引入全局方法(前端小白必看!)
mixin是什么?怎么用?前端新手上车
·
第一种方式:挂载到Vue的prototype上
把全局方法写到一个文件里面,然后挂载到Vue的prototype上,缺点是调用这个方法的时候没有提示
1、在js文件中导出方法
export function getDictLabelByValue (data, type) {
//定义方法
return arr;
}
export function getLabelByValue (data, type) {
//定义方法
return arr;
}
2、在main.js中引入
import { getLabelByValue, getDictLabelByValue } from '@/utils'
//挂载到Vue的prototype上,两种写法都可以
Vue.prototype.getLabelByValue= getLabelByValue
Vue.prototype.$getDictLabelByValue = getDictLabelByValue
3、在任意文件中使用该方法
this.getLabelByValue(arr,val)
this.$getDictLabelByValue(arr,val)
第二种方式:利用全局混入mixin
因为mixin里面的methods会和创建的每个单文件组件合并。这样做的优点是调用这个方法的时候有提示
Vue.mixin({ //直接在main.js中定义
methods: {
_addStar () { //在任意文件中使用该方法:this._addStar ()
//方法逻辑
return a
},
removeStar(){ //在任意文件中使用该方法:this.removeStar ()
return b
}
}
})
1、mixin是什么?
mixin文件是一个对象,可以包含vue组件的任意成分。是分发Vue组件可复用功能的非常灵活的方式,当mixin被组件使用时,所有minxin里的属性/方法会与组件里的属性/方法混合。
单纯组件引用: 父组件 + 子组件 >>> 父组件 + 子组件
mixins: 父组件 + 子组件 >>> new父组件
2、mixin使用
在Vue组件中可以有mixins属性,该属性值类型为数组。将mixin引入,作为mixins数组的元素mixins: [mixin]
import {tabTodoWatch, tabTodoMixin} from "@/utils/mixins";
export default {
name: "detail",
components: {
FileManage
},
mixins: [tabTodoWatch, tabTodoMixin],
data(){
return {
}
},
methods(){
//可以使用tabTodoWatch、tabTodoMixin中的方法
//this.方法名();
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)