国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解VUE自定義組件中用.sync修飾符與v-model的區別

2019-11-19 13:36:21
字體:
來源:轉載
供稿:網友

.sync修飾組件

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>vue-03</title>  <!-- 引入Vue -->  <link  rel="external nofollow" rel="external nofollow" rel="stylesheet">  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script></head><body>  <div class="container" style="margin-top: 12px;">    <div id="demo" class="row">      {{ say }}      <br />      <my-input :value.sync="say"></my-input>    </div>  </div>  <script>    new Vue({      el: '#demo',      data: {        say: "123"      },      components: {        "my-input": {          props: ['value'],          template: "<div><input v-bind:value='value' v-on:input='change1' />{{value}}</div>",          watch: {            value: function(newValue, oldValue) {              alert('子組件value新舊值' + newValue + '/' + oldValue);              //this.$emit('update:value', newValue)            }          },          methods: {            change1: function(e) {              var v = e.target.value              this.$emit('update:value', v)            },          }        }      },      watch: {        say: function(n, o) {          alert('父組件新舊值' + n + '-' + o)        }      },      methods: {      }    })  </script></body>

v-model修飾組件

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>vue-10</title>  <!-- 引入Vue -->  <link  rel="external nofollow" rel="external nofollow" rel="stylesheet">  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script></head><body>  <div class="container" style="margin-top: 12px;">    <div id="demo" class="row">      {{ say }}      <br />      <my-input v-model="say"></my-input>    </div>  </div>  <script>    new Vue({      el: '#demo',      data: {        say: "123"      },      components: {        "my-input": {          props: ['value'],          template: "<div><input v-bind:value='value' v-on:input='change' />{{value}}</div>",          watch: {            value: function(newValue, oldValue) {              alert('子組件value新舊值' + newValue + '/' + oldValue);              //this.$emit('update:value', newValue)            }          },          methods: {            change: function(e) {              this.$emit('input', e.target.value)            }          }        }      }    })  </script></body>

區別只能自己慢慢體會,個人感覺 .sync用法靈活,而v-model只能接受prop名為為value的值.

兩者都需要手動觸發$emit方法.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀远县| 鸡泽县| 金湖县| 旺苍县| 固镇县| 玉山县| 新闻| 武城县| 华安县| 伊通| 舞阳县| 文成县| 卓尼县| 全南县| 航空| 雅江县| 建昌县| 双牌县| 西藏| 肇源县| 泉州市| 茌平县| 南靖县| 江都市| 当涂县| 台北市| 梧州市| 青铜峡市| 蒙阴县| 雷州市| 巴林左旗| 肇源县| 涟源市| 吉木萨尔县| 阜南县| 千阳县| 宾川县| 隆昌县| 阳东县| 平远县| 台江县|