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

溫馨提示×

溫馨提示×

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

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

vue App.vue中公共組件改變值觸發其他組件或.vue頁面監聽的示例分析

發布時間:2021-07-28 09:12:43 來源:億速云 閱讀:162 作者:小新 欄目:web開發

這篇文章主要為大家展示了“vue App.vue中公共組件改變值觸發其他組件或.vue頁面監聽的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue App.vue中公共組件改變值觸發其他組件或.vue頁面監聽的示例分析”這篇文章吧。

業務場景重現

現在我的App.vue里面有一個頭部的公共組件,頭部組件里有一個輸入框,當我輸入詞條時,將詞條傳進App.vue里的<router-view>里的.vue頁面,并進行查詢獲取數據

解決思路如下:

1.如何拿到頭部的詞條

2.當詞條改變時如何觸發.vue里的請求數據事件

解決方案

我是用vuex數據倉庫來存儲詞條的,當詞條改變時,修改數據倉庫里的詞條

然后在.vue頁面里監聽這個詞條,當詞條改變時觸發請求數據的事件

代碼

數據倉庫store.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
 state: {
  searchKey: ''    //存庫詞條的變量
 },
 mutations: {         //修改數據倉庫的事件
  changeSearchKey(state,value){
   state.searchKey = value
  }
 },
 actions: {         //推薦使用的異步修改數據倉庫
  setSearchKey(context,value){  
   context.commit('changeSearchKey',value)
  }
 }
})

App.vue里的header組件

goSearch: function(){
      if(this.value){
        this.$store.dispatch('setSearchKey',this.value) //當輸入詞條時,將詞條更新到數據倉庫
      }
    },

vue頁面里監聽詞條

computed: {           監聽詞條
    getSearchKey(){
      return this.$store.state.searchKey
    }
  },
  watch: {
    getSearchKey: {
      handler(newValue,oldValue){ //當詞條改變時執行事件
        this.recordis(newValue)
        // console.log('new',newValue)
        // console.log('old',oldValue)
      }
    }

  },

以上是“vue App.vue中公共組件改變值觸發其他組件或.vue頁面監聽的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

方城县| 凤翔县| 鸡东县| 资兴市| 台前县| 华宁县| 莱芜市| SHOW| 虞城县| 白银市| 县级市| 额济纳旗| 景德镇市| 镇沅| 高邑县| 嵊州市| 长岛县| 乐业县| 株洲市| 巫溪县| 平乐县| 饶平县| 龙南县| 德州市| 扎鲁特旗| 开原市| 龙岩市| 阿拉善左旗| 淄博市| 商都县| 青海省| 普格县| 台安县| 剑川县| 光泽县| 河间市| 珠海市| 兰坪| 济南市| 康定县| 青铜峡市|