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

解決Vue.js父組件$on無法監(jiān)聽子組件$emit觸發(fā)事件的問題

 更新時間:2018年09月12日 10:37:23   作者:wo_buzhidao  
今天小編就為大家分享一篇解決Vue.js父組件$on無法監(jiān)聽子組件$emit觸發(fā)事件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近學習vuejs看例子中用$on無法監(jiān)聽子組件$emit觸發(fā)事件:

使用版本

vue.js 2.2.5

參考文獻

1.vuejs API

2.解決實例

問題分析

1.之前寫的自定義組件事件觸發(fā)為this.$emit("myclick",this.todo.text);,這樣this指的是todo-item的每一項,而最后vm.$on監(jiān)聽的是app組件,也就出說監(jiān)聽的是父節(jié)點,而觸發(fā)的是子節(jié)點,故監(jiān)聽不到這個事件的。

解決思路

1.將觸發(fā)事件放在父節(jié)點上觸發(fā),就可以監(jiān)聽到觸發(fā)的事件了,即this.$parent.$emit("myclick",this.todo.text);,這樣即可以在vm.$on監(jiān)聽到觸發(fā)的事件了。

實現(xiàn)代碼

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Emit事件和On事件</title>
</head>
<script src="../js/vue.js"></script>
<link rel="stylesheet" href="../css/demo.css" rel="external nofollow" />
<body>
<div id="app">
 <todo-item v-for="(item,index) in items" v-bind:todo="item" v-on:myclick="addResult"></todo-item>
</div>
</body>
<script>
 Vue.component('todoItem',{
 props:['todo'],
 template:'<li v-on:click="add">{{todo.text}}</li>', //1.在自定義組件中加入點擊事件傳給add
 methods:{
  add:function(){   //2.這里的add拿到template中的點擊事件add,并執(zhí)行函數(shù)
  this.$parent.$emit("myclick",this.todo.text); //3.暴露給父組件中點擊事件名稱為my-click
  },
 },
 })
 var vm=new Vue({
  el:'#app',
  data:{
  items:[
   { text: 'Runoob' },
   { text: 'Google' },
   { text: 'Taobao' }
  ]
  },
  methods:{
  //5.這里執(zhí)行父組件傳遞的點擊函數(shù)
  addResult:function(value){
   alert(value);
  },
  },
 });
 vm.$on('myclick',function (value) {
  console.log(value);
 })
</script>
</html>

以上這篇解決Vue.js父組件$on無法監(jiān)聽子組件$emit觸發(fā)事件的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue按住shift鍵多選方式(以element框架的table為例)

    vue按住shift鍵多選方式(以element框架的table為例)

    這篇文章主要介紹了vue按住shift鍵多選方式(以element框架的table為例),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue中組件之間相互通信傳值的幾種方法詳解

    vue中組件之間相互通信傳值的幾種方法詳解

    這篇文章主要為大家詳細介紹了vue中組件之間相互通信傳值的幾種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • vue中data改變后讓視圖同步更新的方法

    vue中data改變后讓視圖同步更新的方法

    這篇文章主要給大家介紹了關(guān)于vue中data改變后讓視圖同步更新的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • vue項目中使用fetch的實現(xiàn)方法

    vue項目中使用fetch的實現(xiàn)方法

    這篇文章主要介紹了vue項目中使用fetch的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 使用vscode 開發(fā)uniapp的方法

    使用vscode 開發(fā)uniapp的方法

    本文給大家分享我使用vscode開發(fā)的一些配置。其中包括uniapp組件語法提示,uniapp代碼提示,代碼自動格式化問題,對vscode 開發(fā)uniapp的相關(guān)知識感興趣的朋友一起看看吧
    2021-08-08
  • UNIapp實現(xiàn)局域網(wǎng)內(nèi)在線升級的操作方法

    UNIapp實現(xiàn)局域網(wǎng)內(nèi)在線升級的操作方法

    這篇文章主要介紹了UNIapp實現(xiàn)局域網(wǎng)內(nèi)在線升級的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • vue使用leafLet方式(繪圖工具)

    vue使用leafLet方式(繪圖工具)

    這篇文章主要介紹了vue使用leafLet方式(繪圖工具),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue實現(xiàn)權(quán)限控制路由(vue-router 動態(tài)添加路由)

    vue實現(xiàn)權(quán)限控制路由(vue-router 動態(tài)添加路由)

    今天小編就為大家分享一篇vue實現(xiàn)權(quán)限控制路由(vue-router 動態(tài)添加路由),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Element Plus實現(xiàn)Affix 固釘

    Element Plus實現(xiàn)Affix 固釘

    本文主要介紹了Element Plus實現(xiàn)Affix 固釘,Affix組件用于將頁面元素固定在特定可視區(qū)域,文中通過示例代碼介紹的非常詳細,感興趣的小伙伴們可以參考一下
    2021-07-07
  • vue中監(jiān)聽路由參數(shù)的變化及方法

    vue中監(jiān)聽路由參數(shù)的變化及方法

    這篇文章主要介紹了vue中監(jiān)聽路由參數(shù)的變化,給大家介紹了vue中監(jiān)聽路由參數(shù)變化的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論

都昌县| 绥江县| 依兰县| 昌都县| 盱眙县| 彭泽县| 德保县| 海口市| 加查县| 乌苏市| 台南县| 原平市| 山阳县| 嵩明县| 璧山县| 北安市| 卢湾区| 沧源| 景泰县| 博野县| 红河县| 民勤县| 奉化市| 方山县| 临桂县| 女性| 湘阴县| 元氏县| 理塘县| 大同县| 墨竹工卡县| 双牌县| 民和| 高安市| 西畴县| 舒兰市| 江川县| 崇信县| 酉阳| 泰顺县| 屏南县|