91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vuex怎么模塊化編碼和命名空間

發布時間:2023-02-08 09:14:01 來源:億速云 閱讀:138 作者:iii 欄目:編程語言

本文小編為大家詳細介紹“vuex怎么模塊化編碼和命名空間”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vuex怎么模塊化編碼和命名空間”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

模塊化編碼+命名空間

小a:“為啥要開啟這個捏?”山魚:“當然是讓代碼更好維護,讓多種數據分類更加明確。”

小a:“那如何才能做到模塊化編碼+命名空間呢”

山魚:“只需要這樣即可”

namespaced: true

將Count組件和Person組件里面的東西全部放到store里面

vuex怎么模塊化編碼和命名空間

// Count的相關配置
export default {
    namespaced: true,
    actions: {
        // 奇數加法
        jiaodd(context, value) {
            if (context.state.sum % 2) {
                context.commit('JIA', value)
            }
        },
        // 延遲加
        jiaWait(context, value) {
            setTimeout(() => {
                context.commit("JIA", value)
            }, 500);
        },
    },
    mutations: {
        JIA(state, value) {
            state.sum += value
        },
        JIAN(state, value) {
            state.sum -= value
        },
    },
    state: {
        sum: 0, // 當前和
        school: '山魚小學',
        subject: '前端',
    },
    getters: {
        bigSum(state) {
            return state.sum * 10
        }
    }
}

2.開啟命名空間后讀取state的數據

  computed: {
     // 自己讀取
    personList() {
      returnthis.$store.state.personAbout.personList;
    },
    sum() {
      returnthis.$store.state.countAbout.sum;
    },
  },
  // 借助mapState讀取
computed: {
    ...mapState("countAbout", ["sum", "subject", "school"]), 
    ...mapState("personAbout", ["personList"]) 
  },

3.開啟命名空間后,組件中讀取getters數據

  computed: {
      // 自己讀取
    firstName() {
      returnthis.$store.getters["personAbout/firstPersonName"];
    }
  },
  methods: {
    // 借助mapGetters讀取
    // 借助mapMutations生成對應的方法,方法種會調用相應的commit去聯系mutations
    ...mapMutations('countAbout',{ increment: "JIA", decrement: "JIAN" }), // 對象式

    ...mapActions('countAbout',{ incrementOdd: "jiaodd", incrementWait: "jiaWait" }) //對象式

  },

4.開啟命名空間后,組件中調用dispatch

methods: {
     // 直接dispath
    addWang() {
      constpersonObj= { id: nanoid(), name: this.name };
      this.$store.dispatch("personAbout/addNameWang", personObj);
      this.name="";
    },
  },
//借助mapGetters讀取:
  computed: {
    ...mapGetters('countAbout',['bigSum'])
  },

5.開啟命名空間后,組件中調用commit

methods: {
    // 直接調用
    add() {
      constpersonObj= { id: nanoid(), name: this.name };
      this.$store.commit("personAbout/ADD_PERSON", personObj);
      this.name="";
    },
 }
  methods: {
    // 借助mapMutations生成對應的方法,方法種會調用相應的commit去聯系mutations
    ...mapMutations('countAbout',{ increment: "JIA", decrement: "JIAN" }), // 對象式
      },
  }

讀到這里,這篇“vuex怎么模塊化編碼和命名空間”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁阳县| 保山市| 商南县| 昔阳县| 玉山县| 宜兰市| 绥中县| 邮箱| 广东省| 铁岭县| 镇安县| 兰溪市| 杂多县| 黑山县| 井研县| 丰宁| 克山县| 雅安市| 崇明县| 中方县| 东乡族自治县| 济阳县| 象州县| 聂拉木县| 房山区| 任丘市| 交城县| 阿克陶县| 阿城市| 永丰县| 集安市| 辽中县| 顺平县| 观塘区| 隆安县| 东海县| 抚顺市| 若尔盖县| 全南县| 高雄县| 兴山县|