最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue組件之間通信實例總結(jié)(點贊功能)

 更新時間:2018年12月05日 08:47:31   作者:匿名的girl  
這篇文章主要介紹了vue組件之間通信,結(jié)合實例形式分析了vue父子組件、兄弟組件之間通信的原理、實現(xiàn)方法,并給出了一個類似點贊功能的總結(jié)實例,需要的朋友可以參考下

本文實例講述了vue組件之間通信。分享給大家供大家參考,具體如下:

總結(jié):

父組件--》子組件

①通過屬性

步驟1:

<son myName="michael" myPhone='123'></son>
<son :myName="userList[0]"></son>

步驟2:

Vue.component('son',{
  props:['myName','myPhone']
})

②通過$parent

直接在子組件中通過this.$parent得到調(diào)用子組件的父組件

子組件--》父組件

①events up

步驟1:在父組件中 調(diào)用子組件的時候 綁定一個自定義事件 和 對應(yīng)的處理函數(shù)

methods:{
  recvMsg:function(msg){
  //msg就是傳遞來的數(shù)據(jù)
  }
},
template:'
<son @customEvent="recvMsg"></son>
'

步驟2:在子組件中 把要發(fā)送的數(shù)據(jù)通過觸發(fā)自定義事件傳遞給父組件

this.$emit('customEvent',123)

②$refs

reference 引用

步驟1:在調(diào)用子組件的時候 可以指定ref屬性

<son ref='zhangsan'></son>

步驟2:通過$refs得到指定引用名稱對應(yīng)的組件實例

this.$refs.zhangsan

兄弟組件通信

步驟1:創(chuàng)建一個Vue的實例 作為事件綁定觸發(fā)的公共的對象

var bus = new Vue();

步驟2:在接收方的組件 綁定 自定義的事件

bus.$on('customEvent',function(msg){
  //msg是通過事件傳遞來的數(shù)據(jù) (傳遞來的123)
});

步驟3:在發(fā)送方的組件 觸發(fā) 自定義的事件

bus.$emit('customEvent',123);

每日一練:

創(chuàng)建2個組件,main-component,son-component

視圖:

main-component 顯示一個按鈕
son-component 顯示一個p標(biāo)簽

功能:

main-component 定義一個變量count,初始化為0,將count傳遞給son-component,son-component接收到數(shù)據(jù)顯示在p標(biāo)簽中

main-component 在點擊按鈕時,實現(xiàn)對count的自增操作,要求son-component能夠?qū)崟r顯示count對應(yīng)的數(shù)據(jù)

son-component在接收到count之后,在count大于10的時候,將main-component的按鈕禁用掉
(參考:<button v-bind:disabled="!isValid">clickMe</button>)

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>www.fzitv.net 小練習(xí)</title>
  <script src="https://cdn.bootcss.com/vue/2.0.1/vue.min.js"></script>
 </head>
 <body>
 <div id="container">
    <p>{{msg}}</p>
    <main-component></main-component>
  </div>
  <script>
  /*
    每日一練:
創(chuàng)建2個組件,main-component,son-component
視圖:
 main-component 顯示一個按鈕
 son-component 顯示一個p標(biāo)簽
功能:
  main-component 定義一個變量count,初始化為0,將count傳遞給son-component,son-component接收到數(shù)據(jù)顯示在p標(biāo)簽中
  main-component 在點擊按鈕時,實現(xiàn)對count的自增操作,要求son-component能夠?qū)崟r顯示count對應(yīng)的數(shù)據(jù)
  son-component在接收到count之后,在count大于10的時候,將main-component的按鈕禁用掉
  (參考:<button v-bind:disabled="!isValid">clickMe</button>)
  */
//創(chuàng)建父組件
    Vue.component("main-component",{
      data:function(){
        return {
          count:0,
          isDisabled:true
        }
      },
      methods:{
        //點擊按鈕對count進行自增
        //并通過$emit觸發(fā)countAdd,并把count的值傳遞給子組件
        //判斷count==10的時候讓按鈕禁用
        countAdd:function(){
          this.count++;
          console.log("對數(shù)據(jù)進行自增:"+this.count);
          this.$emit("countAdd",this.count);
        }
      },
      template:`
        <div>
          <button @click="countAdd" v-bind:disabled="!isDisabled">點我</button>
          <son-component v-bind:myCount="count"></son-component>
        </div>
      `
    })
//創(chuàng)建子組件
    Vue.component("son-component",{
      //通過props接收父組件傳遞過來的值
      props:["myCount"],
      template:`
        <div>
          <p>{{myCount}}</p>
        </div>
      `,
      //數(shù)據(jù)更新完成后判斷從父組件拿到的值
      updated:function(){
        if(this.myCount>10){
          //子組件通過$parent直接獲取父組件的數(shù)據(jù)
            this.$parent.isDisabled = false;
          }
      }
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>

使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試,可得到如下運行效果:

感興趣的朋友還可以使用上述在線工具測試一下代碼的運行效果。

希望本文所述對大家vue.js程序設(shè)計有所幫助。

相關(guān)文章

  • 一文教你學(xué)會在Vue3中自定義指令

    一文教你學(xué)會在Vue3中自定義指令

    這篇文章主要為大家詳細(xì)介紹一下如何在Vue3中實現(xiàn)自定義指令,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的同學(xué)可以參考一下
    2022-07-07
  • vue如何跳轉(zhuǎn)到其他頁面

    vue如何跳轉(zhuǎn)到其他頁面

    跳轉(zhuǎn)到指定URL,向history棧添加一個新的紀(jì)錄,點擊后退會返回至上一個頁面,這篇文章給大家介紹vue如何跳轉(zhuǎn)到其他頁面,包括無參跳轉(zhuǎn)和帶參跳轉(zhuǎn),本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-10-10
  • vue實現(xiàn)動態(tài)路由詳細(xì)

    vue實現(xiàn)動態(tài)路由詳細(xì)

    我們開發(fā)后臺管理系統(tǒng)過程中,會由不同的人操作系統(tǒng),有admin(管理員)、superAdmin(超管),及各種運營、財務(wù)人員。為了區(qū)別這些人員,會給不同的人分配不一樣的角色來展示不同的菜單,這就必須要通過動態(tài)路由來實現(xiàn)。下面就來介紹vue實現(xiàn)動態(tài)路由,需要的朋友可參考一下
    2021-10-10
  • 基于Vue實現(xiàn)人民幣小寫轉(zhuǎn)為大寫功能

    基于Vue實現(xiàn)人民幣小寫轉(zhuǎn)為大寫功能

    在金融類應(yīng)用中,經(jīng)常需要將金額從小寫數(shù)字轉(zhuǎn)換為大寫形式,這種轉(zhuǎn)換主要用于正式票據(jù)、合同等場合,以增加文本的專業(yè)性和可讀性,本文將詳細(xì)介紹如何在Vue.js項目中實現(xiàn)這一功能,并提供多個示例和詳細(xì)的代碼說明,需要的朋友可以參考下
    2024-09-09
  • Vue項目中安裝依賴npm?install一直報錯的解決過程

    Vue項目中安裝依賴npm?install一直報錯的解決過程

    這篇文章主要給大家介紹了關(guān)于Vue項目中安裝依賴npm?install一直報錯的解決過程,要解決NPM安裝依賴報錯,首先要分析出錯誤的原因,文中將解決的過程介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Vuex持久化插件(vuex-persistedstate)解決刷新數(shù)據(jù)消失的問題

    Vuex持久化插件(vuex-persistedstate)解決刷新數(shù)據(jù)消失的問題

    這篇文章主要介紹了Vuex持久化插件(vuex-persistedstate)-解決刷新數(shù)據(jù)消失的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • vue v-for出來的列表,點擊某個li使得當(dāng)前被點擊的li字體變紅操作

    vue v-for出來的列表,點擊某個li使得當(dāng)前被點擊的li字體變紅操作

    這篇文章主要介紹了vue v-for出來的列表,點擊某個li使得當(dāng)前被點擊的li字體變紅操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 如何在vue中使用pdfjs預(yù)覽pdf文件

    如何在vue中使用pdfjs預(yù)覽pdf文件

    本文主要講解了如何在vue中使用pdfjs預(yù)覽pdf文件,這樣的優(yōu)勢是無須讓用戶安裝專門的軟件即可實現(xiàn)預(yù)覽,下面就看看如何實現(xiàn)這個需求
    2021-06-06
  • Vue中extends繼承和組件復(fù)用性詳解

    Vue中extends繼承和組件復(fù)用性詳解

    這篇文章主要給大家介紹了關(guān)于Vue中extends繼承和組件復(fù)用性的相關(guān)資料,組件(Component)是Vue.js最強大的功能之一,組件可以擴展HTML元素,封裝可重用的代碼,需要的朋友可以參考下
    2023-11-11
  • vue實現(xiàn)登錄時的圖片驗證碼

    vue實現(xiàn)登錄時的圖片驗證碼

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)登錄時的圖片驗證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評論

邻水| 蕲春县| 禹州市| 平遥县| 呼和浩特市| 凤凰县| 酉阳| 固镇县| 辽源市| 白河县| 湖南省| 牙克石市| 永定县| 罗平县| 孝昌县| 治县。| 江津市| 淮南市| 张家口市| 虹口区| 兴文县| 广汉市| 广饶县| 博罗县| 泾川县| 威远县| 太白县| 兴仁县| 革吉县| 辉南县| 彰化市| 万荣县| 永仁县| 宁强县| 浠水县| 龙口市| 宁国市| 芒康县| 迁西县| 山阳县| 北碚区|