[Vue.js] 筆記 - 在組件Prop的修飾符 .sync

在組件Prop的修飾符 .sync

在與物件傳遞資料時,可以使用 .sync 修飾詞省略一些程式碼

<div id="app">
  <test :name.sync="myName"></test>
  <div>{{myName}}</div>
</div>
new Vue({
  el:"#app",
  data:{
    myName:"My"
  },
  
  components:{
    test:{
      props:["name"],
      data(){
        return {
          innerName : this.name
        }
      },
      template:`
        <div>
          <input type="text" v-model="innerName"/>
          <button @click="sync">button</button>
        </div>
      `,
      methods:{
        sync(){
          this.$emit("update:name",this.innerName);
        }
      }
    }
  }
});

1.在父元素傳遞 myName 到組件的 name,並且加上 .sync

2.在組件內可以直接使用 this.emit("update:<prop name>","<value>") 直接同步值到父組件的 myName