久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 子組件觸發父組件的自定義事件 父組件無任何反應

瀏覽:200日期:2023-02-19 17:57:26

問題描述

以下為子組件 @change=’showChange’為子組件事件以下模板注冊為 order-type組件

<template><select name='dType' v-el:select @change=’showChange’> <option value='' v-if='type==’selectAll’'>全部</option> <option v-for='branch in branchList' :value='branch.id' track-by='$index'>{{branch.name}} </option> </select></template>

以下為子組件方法:

showChange(event) { for (let branch of this.branchList) {if (branch[’id’] === event.target.value) { this.$emit(’showChange’,branch[’prefix’]);} }

以下是父組件

<order-type @showChange=’alert(2)’></order-type>

但alert(2) 并未執行

問題解答

回答1:

你直接這么寫有問題的吧應該是

<order-type @showChange=’alertFun’></order-type> 父組件有一個方法methods: { alertFun () {alert(2) }}

這里應該傳遞的是父組件方法的一個函數名,而不是直接寫alert(2)

回答2:

應該是這塊出問題了<option v-for='branch in branchList' :value='branch.id' track-by='$index'>for in對象循環取得的是索引,不是值,所以取不到branch.id,可以改成for of

回答3:

以下為子組件 @change=’showChange’為子組件事件以下模板注冊為 order-type組件

<template><select name='dType' v-el:select @change:parentChage=’showChange’>

<option value='' v-if='type==’selectAll’'>全部</option> <option v-for='branch in branchList' :value='branch.id' track-by='$index'> {{branch.name}} </option>

</select></template>

以下為子組件方法:

showChange(event) {for (let branch of this.branchList) { if (branch[’id’] === event.target.value) { /注意此行的修改/ this.$emit(’parentChage’,branch[’prefix’]); }}以下是父組件<order-type @showChange=’alert(2)’></order-type> 但alert(2) 并未執行

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 焉耆| 明水县| 玉田县| 松滋市| 舒城县| 东阿县| 尚义县| 特克斯县| 黑水县| 亳州市| 兴义市| 休宁县| 澄城县| 榕江县| 上杭县| 泸溪县| 巴里| 麻城市| 平罗县| 杭州市| 老河口市| 日喀则市| 柘荣县| 永嘉县| 阿拉善右旗| 青川县| 揭东县| 株洲市| 茂名市| 龙南县| 清新县| 绍兴县| 喀喇沁旗| 扎赉特旗| 新巴尔虎右旗| 文化| 岳阳县| 鄂托克前旗| 肃南| 古蔺县| 塔河县|