<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        淺談Vuejs Prop基本用法

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:32:40
        文檔

        淺談Vuejs Prop基本用法

        淺談Vuejs Prop基本用法:這兩天學(xué)習(xí)了Vuejs Prop感覺這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。 一、使用Prop傳遞數(shù)據(jù) 組件實例的作用域是孤立的。這意味著不能并且不應(yīng)該在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。可以使用props把數(shù)據(jù)傳給子組件。 prop
        推薦度:
        導(dǎo)讀淺談Vuejs Prop基本用法:這兩天學(xué)習(xí)了Vuejs Prop感覺這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。 一、使用Prop傳遞數(shù)據(jù) 組件實例的作用域是孤立的。這意味著不能并且不應(yīng)該在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。可以使用props把數(shù)據(jù)傳給子組件。 prop

        這兩天學(xué)習(xí)了Vuejs Prop感覺這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。

        一、使用Prop傳遞數(shù)據(jù)

        組件實例的作用域是孤立的。這意味著不能并且不應(yīng)該在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。可以使用props把數(shù)據(jù)傳給子組件。

        prop是父組件用來傳遞數(shù)據(jù)的一個自定義屬性。子組件需要顯示的地用props選項聲明”prop”

        Vue.component('child',{
         props:['message'],
         template:'<span>{{ message }}</span>'
        })
        

        然后向它傳入一個普通字符串:

        <child message="hello!"></child>

        結(jié)果:

        hello!

        二、camelCase vs.kebab-case

        html不區(qū)分大小寫。當(dāng)使用非字符串模板時,prop的名字形式會從camelCase轉(zhuǎn)為kebab-case(短橫線隔開):

        //camelCase
        Vue.component('child',{
         props:['myMessage'],
         template:'<span>{{ message }}</span>'
        })
        //kebab-case
        <child my-message="hello!"></child>

        再次說明,如果你是用字符串模板,不用在意這些限制。

        三、動態(tài)Prop

        類似于用v-bind綁定HTML特性到一個表達式,也可以用v-bind動態(tài)綁定props的值到父組件的數(shù)據(jù)中。每當(dāng)父組件的數(shù)據(jù)變化時,該變化也會傳導(dǎo)給子組件。

        <div>
         <input v-model="parrentMsg">
         <br>
         <child v-bind:my-message="parrentMsg"></child>
        </div>

        使用v-bind的縮寫語法通常更簡單:

        <child :my-message="parrentMsg"></child>

        四、字面量語法vs動態(tài)語法

        因為它是一個字面prop ,它的值以字符串 "1" 而不是以實際的數(shù)字傳下去。如果想傳遞一個實際的 JavaScript 數(shù)字,需要使用 v-bind ,從而讓它的值被當(dāng)作 javascript 表達式計算:

        五、單項數(shù)據(jù)流

        prop是單項綁定的:當(dāng)父組件的屬性變化時,將傳導(dǎo)給子組件,但是不會反過來。這是為了防止子組件無意修改了父組件的狀態(tài)——這會讓應(yīng)用的數(shù)據(jù)流難以理解。同時,這也很好理解,父組件是子組件的高度抽象,表示子組件的共有部分,一個組件的數(shù)據(jù)改變并不會改變其抽象,然而其抽象的改變卻代表著所有子組件的改變。

        另外,每次組漸漸更新時,子組件的所有prop都會更新為最新值。這意味著你不應(yīng)該在子組件內(nèi)部改變prop。如果你這么做了,Vue會在控制臺給出警告。

        通常有兩種改變prop的情況:

        1.prop作為初始值傳入,子組件之后只是將它的初始值作為本地數(shù)據(jù)的初始值使用;

        2.prop作為需要被轉(zhuǎn)變的原始值傳入。

        更確切地說這兩種情況是:
        a.定義一個局部data屬性,并將prop的初始值作為局部數(shù)據(jù)的初始值。

        “` 
        props: [‘initialCounter'], 
        data: function () { 
        return { counter: this.initialCounter} 
        }
        

        b.定義一個 computed 屬性,此屬性從 prop 的值計算得出。

         ```
         props: ['size'],
         computed: {
         normalizedSize: function () {
         return this.size.trim().toLowerCase()
         }
         }
        

        六、Prop驗證

        組件可以為 props 指定驗證要求。如果未指定驗證要求,Vue 會發(fā)出警告。當(dāng)組件給其他人使用時這很有用。
        prop 是一個對象而不是字符串?dāng)?shù)組時,它包含驗證要求:

        Vue.component('example', {
         props: {
         // 基礎(chǔ)類型檢測 (`null` 意思是任何類型都可以)
         propA: Number,
         // 多種類型
         propB: [String, Number],
         // 必傳且是字符串
         propC: {
         type: String,
         required: true
         },
         // 數(shù)字,有默認(rèn)值
         propD: {
         type: Number,
         default: 100
         },
         // 數(shù)組/對象的默認(rèn)值應(yīng)當(dāng)由一個工廠函數(shù)返回
         propE: {
         type: Object,
         default: function () {
         return { message: 'hello' }
         }
         },
         // 自定義驗證函數(shù)
         propF: {
         validator: function (value) {
         return value > 10
         }
         }
         }
        })
        

        type可以是下面的原生構(gòu)造器:

      1. String
      2. Number
      3. Boolean
      4. Function
      5. Object
      6. Array
      7. type也可以是一個自定義構(gòu)造器,使用instanceof檢測。當(dāng)prop驗證失敗了,如果使用的是開發(fā)版本會拋出一條警告。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        淺談Vuejs Prop基本用法

        淺談Vuejs Prop基本用法:這兩天學(xué)習(xí)了Vuejs Prop感覺這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。 一、使用Prop傳遞數(shù)據(jù) 組件實例的作用域是孤立的。這意味著不能并且不應(yīng)該在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。可以使用props把數(shù)據(jù)傳給子組件。 prop
        推薦度:
        標(biāo)簽: 使用 VUE 用法
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人A人亚洲精品无码| 日韩视频免费一区二区三区| 国产亚洲精品免费视频播放| 久久精品国产亚洲AV| 卡1卡2卡3卡4卡5免费视频| 亚洲kkk4444在线观看| 成年女人毛片免费视频| 亚洲AV无码专区在线亚| 岛国av无码免费无禁网站| 亚洲av极品无码专区在线观看| 日韩欧毛片免费视频| 亚洲天堂男人影院| 在线精品免费视频无码的| 亚洲av色香蕉一区二区三区| 免费人成在线观看视频播放| yellow视频免费看| 日韩亚洲欧洲在线com91tv| 99国产精品视频免费观看| 亚洲专区一路线二| 午夜一级毛片免费视频| 免费一级毛suv好看的国产网站| 亚洲国产婷婷香蕉久久久久久| 中美日韩在线网免费毛片视频| 亚洲精品tv久久久久久久久| 最近中文字幕免费完整| 67194在线午夜亚洲| 亚洲阿v天堂在线2017免费| 嫩草影院在线播放www免费观看| 亚洲人成在线免费观看| 午夜亚洲av永久无码精品| 国产成人久久AV免费| 亚洲精品蜜夜内射| 亚洲色大成网站WWW久久九九| 亚洲一级毛片免费观看| 免费人成大片在线观看播放电影| 久久99国产亚洲高清观看首页| 亚洲精品国产免费| 亚欧国产一级在线免费| 亚洲国产精品久久久久秋霞影院| 国产亚洲精品免费| 久久久久成人片免费观看蜜芽 |