2020-11-21vue.js 父、子組件間的傳參 @input事件實(shí)現(xiàn)子傳父、數(shù)據(jù)雙向綁定版

<!DOCTYPE?html>

<html?lang="zh-CN">

<head>

??<meta?charset="UTF-8">

??<meta?name="viewport"?content="width=device-width,?initial-scale=1.0">

??<meta?http-equiv="X-UA-Compatible"?content="ie=edge">

??<title>Document</title>

??<script?src="https://cdn.staticfile.org/vue/2.6.12/vue.min.js"></script>

</head>?

<body>

??<div?id="app">

????<h2>父組件:</h2>

????<p>num1:?{{num1}}</p>

????<p>num2:?{{num2}}</p>

????<cpn?@dnm1='dnm1'?@dnm2='dnm2'

????:pnum1='num1'?:pnum2='num2'

?????/>????

??</div>

??<template?id="cpn">

????<div>

??????<h2>子組件props:</h2>

??????<p>pnum1:?{{pnum1}}</p>

??????<p>pnum2:?{{pnum2}}</p>

??????<h2>子組件data:</h2>

??????<p>請輸入:</p>

??????input1?<input?type="text"?:value="dnum1"?@input='change1'><br>

??????input2?<input?type="text"?:value="dnum2"?@input='change2'>

??????<p>dnum1:?{{dnum1}}</p>

??????<p>dnum2:?{{dnum2}}</p>?

????</div>

??</template>

??<script>

????const?cpn?=?{

??????template:?'#cpn',

??????data()?{

????????return?{

??????????dnum1:?this.pnum1,

??????????dnum2:?this.pnum2

????????}

??????},

??????props:?{

????????pnum1:??Number,

????????pnum2:?Number

??????},

??????methods:?{

????????change1(event)?{

??????????this.dnum1?=?event.target.value;

??????????this.dnum2?=?100*this.dnum1;

??????????this.$emit('dnm2',this.dnum2)

??????????this.$emit('dnm1',this.dnum1)

????????},


????????change2(event)?{

??????????this.dnum2?=?event.target.value;

??????????this.dnum1?=?this.dnum2/100;

??????????this.$emit('dnm1',this.dnum1)

??????????this.$emit('dnm2',this.dnum2)

????????}

??????}

????}

????const?vm=new?Vue({

??????el:'#app',

??????data:{

????????num1:?0,

????????num2:?1

??????},

??????methods:{

????????dnm1(value)?{

??????????this.num1?=?value

????????},

????????dnm2(value)?{

??????????this.num2?=?value

????????}

??????},

??????components:?{

????????cpn

??????}

????});

??</script>

</body>

</html>

input 輸入=>子組件data同步更新,并傳入@input事件,利用事件$emit=>父組件=>子組件props ?? No2=No1*100

B站 UP:ilovecoding 視屏課案例
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容