javascript - 子組件觸發(fā)父組件的自定義事件 父組件無(wú)任何反應(yīng)
問(wèn)題描述
以下為子組件 @change=’showChange’為子組件事件以下模板注冊(cè)為 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) 并未執(zhí)行
問(wèn)題解答
回答1:你直接這么寫(xiě)有問(wèn)題的吧應(yīng)該是
<order-type @showChange=’alertFun’></order-type> 父組件有一個(gè)方法methods: { alertFun () {alert(2) }}
這里應(yīng)該傳遞的是父組件方法的一個(gè)函數(shù)名,而不是直接寫(xiě)alert(2)
回答2:應(yīng)該是這塊出問(wèn)題了<option v-for='branch in branchList' :value='branch.id' track-by='$index'>for in對(duì)象循環(huán)取得的是索引,不是值,所以取不到branch.id,可以改成for of
回答3:以下為子組件 @change=’showChange’為子組件事件以下模板注冊(cè)為 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) 并未執(zhí)行
相關(guān)文章:
1. 關(guān)于docker下的nginx壓力測(cè)試2. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題3. mac里的docker如何命令行開(kāi)啟呢?4. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””5. docker容器呢SSH為什么連不通呢?6. nignx - docker內(nèi)nginx 80端口被占用7. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?8. docker-compose 為何找不到配置文件?9. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????10. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。

網(wǎng)公網(wǎng)安備