淺談Vuex的this.$store.commit和在Vue項目中引用公共方法
1、在Vue項目中引用公共方法
作為一個新人小白,在使用vue的過程中,難免會遇到很多的問題,比如某個方法在很多組件中都能用的上,如果在每個組件上都去引用一次的話,會比較麻煩,增加代碼量。怎么做比較好呢,話不多說直接看代碼把
首先 要在main.js中引入公共js。然后,將方法賦在Vue的原型鏈上。
像圖中這樣。

然后在需要的組件上去引入這個方法
mouted (){
//調(diào)用方法
this.common.login();
}
/**然后公共方法里寫一段簡單的代碼*/
export default{
login:function(){
console.log('這是一段代碼')
}
}
2、Vuex中的this.$store.commit
眾所周知,在vue的項目里父子組件間可以用props 或者 $emit 等方式 進(jìn)行數(shù)據(jù)傳遞,而如果項目稍微大一點的話有很多平行組件,這個時候在這些組件間傳遞數(shù)據(jù),使用這些方法會比較麻煩,代碼也會變得不利于服用。
我們可以vuex來解決這個問題
vuex其實官網(wǎng)上不是太好理解,可以直接看看代碼怎么實現(xiàn)的。
首先還是要先安裝vuex
可以創(chuàng)建一個單獨的store文件目錄,里面專門存放相關(guān)的文件
然后新建index.js文件。
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
// 初始化全局的一個變量
testTxt: {"tips":"這是一條vuex的數(shù)據(jù)","id":1}
}
})
export default store
然后在main.js/main.ts 中注冊store
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './../store/index'
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App }
})
接下來在組件中使用
export default {
...
data(){
value : "這又是修改后的value",
},
computed: {
getTxt() {
return this.$store.state.testTxt.tips;
}
},
methods: {
modifyTxt: function() {
this.$store.commit('modifyTips', this.value)
}
}
...
}
然后在index.js文件里可以修改
const store = new Vuex.Store({
state: {
// 初始化全局的一個變量
testTxt: {"tips":"這是一條vuex的數(shù)據(jù)","id":1}
},
mutations: {
modifyTips(state,msg) {
state.testTxt.tips= msg;
}
}
})
export default store
當(dāng)然了,vuex的版本肯定是越新越好~
以上這篇淺談Vuex的this.$store.commit和在Vue項目中引用公共方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue組件Prop傳遞數(shù)據(jù)的實現(xiàn)示例
本篇文章主要介紹了vue組件Prop傳遞數(shù)據(jù)的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
Vue.js實現(xiàn)數(shù)據(jù)響應(yīng)的方法
這篇文章主要介紹了Vue.js實現(xiàn)數(shù)據(jù)響應(yīng)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08
vue中的<template>標(biāo)簽與react中的<></>標(biāo)簽區(qū)別詳解
這篇文章主要為大家介紹了vue中的<template>標(biāo)簽與react中的<></>標(biāo)簽區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

