<sycn-son :foo="fatherFoo"></sycn-son>
props:{
foo: String
},
<button @click="updateFoo">點擊改變</button>
methods:{ updateFoo(){ this.$emit('update','foo被子組件改變啦') } }
<sycn-son :foo="fatherFoo" v-on:update="sonFoo => fatherFoo = sonFoo"></sycn-son>
<sycn-son :foo.sync="fatherFoo"></sycn-son>
updateFoo(){ this.$emit('update:foo','foo被子組件改變啦') }
<template> <div> <sycn-son :foo.sync="fatherFoo"></sycn-son> <br> 父組件的foo:{{fatherFoo}} <button @click="syncFatherUpdate">父組件來點擊改變</button> </div> </template> <script> import sycnSon from './sycnSon' export default { name: 'sycnFather', components:{ sycnSon }, data () { return { fatherFoo:'我是一開始的foo' } }, methods:{ syncFatherUpdate (){ this.fatherFoo = '被父組件改變' } } } </script>
<template> <div> 子組件的foo:{{foo}} <button @click="updateFoo">點擊改變</button> </div> </template> <script> export default { name: 'sycnSon', props:{ foo: String }, methods:{ updateFoo(){ this.$emit('update:foo','foo被子組件改變啦') } } } </script>
JSON.parse(JSON.stringify(this.analysisData))
<template> <div> <model-son v-model="fatherMsg"></model-son> <br> 父組件:{{fatherMsg}} <button @click="modelFatherUpdate">父組件來點擊改變</button> </div> </template> <script> import modelSon from './modelSon' export default { name: 'modelFather', components:{ modelSon }, data () { return { fatherMsg:'父組件一開始定義的fatherMsg' } }, methods:{ modelFatherUpdate (){ this.fatherMsg = 'fatherMsg被父組件改變' } } } </script>
子組件:html
<template> <div> 子組件的msg: <input :value="value" @input="$emit('input', $event.target.value)"> </div> </template> <script> export default { name: 'modelSon', // 必須是value props:{ value:String }, } </script>
注意:註冊必須是valuevue
model: { prop: 'msg', event: 'change' }, props:{ msg:String },
<template> <div> <model-son v-model="fatherMsg"></model-son> <br> 父組件:{{fatherMsg}} <button @click="modelFatherUpdate">父組件來點擊改變</button> </div> </template> <script> import modelSon from './modelSon' export default { name: 'modelFather', components:{ modelSon }, data () { return { fatherMsg:'父組件一開始定義的fatherMsg' } }, methods:{ modelFatherUpdate (){ this.fatherMsg = 'fatherMsg被父組件改變' } } } </script>
<template> <div> 子組件的msg:{{msg}} <button @click="modelUpdate">點擊改變</button> </div> </template> <script> export default { name: 'modelSon', model: { prop: 'msg', event: 'change' }, props:{ msg:String }, methods:{ modelUpdate (){ this.$emit('change','msg被子組件改變了!') } } } </script>