深入理解vue 修飾符sync【 vue sync修飾符示例】

在說(shuō)vue 修飾符sync前,我們先看下官方文檔:vue .sync 修飾符序六,里面說(shuō)vue .sync 修飾符以前存在于vue1.0版本里逗旁,但是在在 2.0 中移除了 .sync 立宜。但是在 2.0 發(fā)布之后的實(shí)際應(yīng)用中眷篇,我們發(fā)現(xiàn) .sync 還是有其適用之處萎河,比如在開發(fā)可復(fù)用的組件庫(kù)時(shí)。我們需要做的只是讓子組件改變父組件狀態(tài)的代碼更容易被區(qū)分蕉饼。從 2.3.0 起我們重新引入了 .sync 修飾符公壤,但是這次它只是作為一個(gè)編譯時(shí)的語(yǔ)法糖存在。它會(huì)被擴(kuò)展為一個(gè)自動(dòng)更新父組件屬性的 v-on 監(jiān)聽器椎椰。
示例代碼如下:

<comp :foo.sync="bar"></comp>

會(huì)被擴(kuò)展為:

<comp :foo="bar" @update:foo="val => bar = val"></comp>

當(dāng)子組件需要更新 foo 的值時(shí),它需要顯式地觸發(fā)一個(gè)更新事件:

this.$emit('update:foo', newValue)

猛一看不明白沾鳄,下邊我么通過(guò)一個(gè)實(shí)例(彈窗的關(guān)閉事件)來(lái)說(shuō)明這個(gè)代碼到底是怎么運(yùn)用的慨飘。

<template>
    <div class="details">
        <myComponent :show.sync='valueChild' style="padding: 30px 20px 30px 5px;border:1px solid #ddd;margin-bottom: 10px;"></myComponent>
        <button @click="changeValue">toggle</button>
    </div>
</template>
<script>
import Vue from 'vue'
Vue.component('myComponent', {
      template: `<div v-if="show">
                    <p>默認(rèn)初始值是{{show}},所以是顯示的</p>
                    <button @click.stop="closeDiv">關(guān)閉</button>
                 </div>`,
      props:['show'],
      methods: {
        closeDiv() {
          this.$emit('update:show', false); //觸發(fā) input 事件译荞,并傳入新值
        }
      }
})
export default{
    data(){
        return{
            valueChild:true,
        }
    },
    methods:{
        changeValue(){
            this.valueChild = !this.valueChild
        }
    }
}
</script>

動(dòng)態(tài)效果如下:

image

vue 修飾符sync的功能是:當(dāng)一個(gè)子組件改變了一個(gè) prop 的值時(shí)瓤的,這個(gè)變化也會(huì)同步到父組件中所綁定。如果我們不用.sync吞歼,我們想做上面的那個(gè)彈窗功能圈膏,我們也可以props傳初始值,然后事件監(jiān)聽篙骡,實(shí)現(xiàn)起來(lái)也不算復(fù)雜稽坤。這里用sync實(shí)現(xiàn),只是給大家提供一個(gè)思路糯俗,讓其明白他的實(shí)現(xiàn)原理尿褪,可能有其它復(fù)雜的功能適用sync。

作者:littleTank
鏈接:http://www.reibang.com/p/6b062af8cf01
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有得湘,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處杖玲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市淘正,隨后出現(xiàn)的幾起案子摆马,更是在濱河造成了極大的恐慌臼闻,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,222評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囤采,死亡現(xiàn)場(chǎng)離奇詭異述呐,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)斑唬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門市埋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人恕刘,你說(shuō)我怎么就攤上這事缤谎。” “怎么了褐着?”我有些...
    開封第一講書人閱讀 157,720評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵坷澡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我含蓉,道長(zhǎng)频敛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,568評(píng)論 1 284
  • 正文 為了忘掉前任馅扣,我火速辦了婚禮斟赚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘差油。我一直安慰自己拗军,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評(píng)論 6 386
  • 文/花漫 我一把揭開白布蓄喇。 她就那樣靜靜地躺著发侵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妆偏。 梳的紋絲不亂的頭發(fā)上刃鳄,一...
    開封第一講書人閱讀 49,879評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音钱骂,去河邊找鬼叔锐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛见秽,可吹牛的內(nèi)容都是我干的掌腰。 我是一名探鬼主播,決...
    沈念sama閱讀 39,028評(píng)論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼张吉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼齿梁!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,773評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤勺择,失蹤者是張志新(化名)和其女友劉穎创南,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體省核,經(jīng)...
    沈念sama閱讀 44,220評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稿辙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了气忠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邻储。...
    茶點(diǎn)故事閱讀 38,697評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旧噪,靈堂內(nèi)的尸體忽然破棺而出吨娜,到底是詐尸還是另有隱情,我是刑警寧澤淘钟,帶...
    沈念sama閱讀 34,360評(píng)論 4 332
  • 正文 年R本政府宣布宦赠,位于F島的核電站,受9級(jí)特大地震影響米母,放射性物質(zhì)發(fā)生泄漏勾扭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評(píng)論 3 315
  • 文/蒙蒙 一铁瞒、第九天 我趴在偏房一處隱蔽的房頂上張望妙色。 院中可真熱鬧,春花似錦慧耍、人聲如沸燎斩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至笋鄙,卻和暖如春师枣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背萧落。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工践美, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人找岖。 一個(gè)月前我還...
    沈念sama閱讀 46,433評(píng)論 2 360
  • 正文 我出身青樓陨倡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親许布。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兴革,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容