• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    vue組件Prop傳遞數據的實現示例

    來源:懂視網 責編:小采 時間:2020-11-27 22:32:17
    文檔

    vue組件Prop傳遞數據的實現示例

    vue組件Prop傳遞數據的實現示例:組件實例的作用域是孤立的。這意味著不能(也不應該)在子組件的模板內直接引用父組件的數據。要讓子組件使用父組件的數據,我們需要通過子組件的props選項。 prop 是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是不會反過來。這是為了防止子組件無
    推薦度:
    導讀vue組件Prop傳遞數據的實現示例:組件實例的作用域是孤立的。這意味著不能(也不應該)在子組件的模板內直接引用父組件的數據。要讓子組件使用父組件的數據,我們需要通過子組件的props選項。 prop 是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是不會反過來。這是為了防止子組件無

    組件實例的作用域是孤立的。這意味著不能(也不應該)在子組件的模板內直接引用父組件的數據。要讓子組件使用父組件的數據,我們需要通過子組件的props選項。

    prop 是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是不會反過來。這是為了防止子組件無意修改了父組件的狀態。

    每次父組件更新時,子組件的所有 prop 都會更新為最新值。這意味著你不應該在子組件內部改變 prop。

    1、Prop靜態傳遞數據

    <!DOCTYPE html>
    <html>
    <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <script type="text/javascript" src="vue.js"></script>
    
    </head>
    <body >
    <div id="app">
     <!--靜態傳遞數據-->
     <my-component message="hello" name="劉二狗" age="18"></my-component>
    </div>
    </body>
    
    <script>
     Vue.component('my-component',{
     //子組件使用父組件的數據 message name age
     props:['message','name','age'],
     //用data選項對數據進行處理
     data:function(){
     return{
     message1: this.message +'用data選項對數據進行處理'
     }
     },
     //用計算屬性選項對數據進行處理
     computed:{
     message2:function(){
     return this.message + '用計算屬性選項對數據進行處理'
     }
     },
     template:'<div>' +
     '<span>{{message1}}</span><br>'+
     '<span>{{message2}}</span><br>'+
     '<span>{{message}} {{name}}今年{{age}}了</span><br>'+
     '</div>'
     })
     new Vue({
     el:'#app'
     })
    </script>
    </html>
    
    

    輸出結果:

    2、Prop動態傳遞數據

    <!DOCTYPE html>
    <html>
    <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <script type="text/javascript" src="vue.js"></script>
    </head>
    <body >
    <div id="app">
     <input v-model="parentMsg"><br>
     <my-component :message="parentMsg"></my-component>
    </div>
    </body>
    
     <script>
     Vue.component('my-component',{
     props:['message'],
     data:function(){
     return{count:this.message+'劉三狗的嫉妒了'}
     },
     computed:{
     normalizedSize: function () {
     return this.message.trim().toLowerCase()
     }
     },
     template:'<div>' +
     '<span>{{message}}---{{normalizedSize}}</span><br>'+
     '<span>{{count}}</span>'+
     '</div>'
     })
    
     new Vue({
     el:'#app',
     data:{
     parentMsg:'哈哈哈'
     }
     })
    </script>
    </html>
    


    輸出結果:

     3、Prop驗證,我們可以為組件的 props 指定驗證規格。如果傳入的數據不符合規格,Vue 會發出警告。在前臺的控制器中可以看到警告信息。

    <!DOCTYPE html>
    <html>
    <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <script type="text/javascript" src="vue.js"></script>
    </head>
    <body>
     <div id="app">
     <example :prop-d="message"></example>
     </div>
    </body>
    
    <script>
     Vue.component('example', {
     props: {
     // 基礎類型檢測 (`null` 意思是任何類型都可以)
     propA: Number,
     // 多種類型
     propB: [String, Number],
     // 必傳且是字符串
     propC: {
     type: String,
     required: true
     },
     // 數字,有默認值
     propD: {
     type: Number,
     default: 100
     },
     // 數組/對象的默認值應當由一個工廠函數返回
     propE: {
     type: Object,
     default: function () {
     return { message: 'hello' }
     }
     },
     // 自定義驗證函數
     propF: {
     validator: function (value) {
     return value > 10
     }
     }
     },
     template:'<span>{{propD}}</span>'
     })
    
     new Vue({
     el:'#app',
     data:{
     message:'propD驗證只能傳入數字類型'
     }
     })
    </script>
    </html>
    
    

    控制臺輸出的警告信息:

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

    文檔

    vue組件Prop傳遞數據的實現示例

    vue組件Prop傳遞數據的實現示例:組件實例的作用域是孤立的。這意味著不能(也不應該)在子組件的模板內直接引用父組件的數據。要讓子組件使用父組件的數據,我們需要通過子組件的props選項。 prop 是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是不會反過來。這是為了防止子組件無
    推薦度:
    標簽: VUE 組件 prop
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 91精品国产91久久| 亚洲av无码成人精品区在线播放| 99久久精品免费| 日韩人妻无码精品久久免费一| 99精品影院| 99久久99这里只有免费费精品| 欧美精品亚洲精品日韩专区| 97视频在线精品国自产拍| 国产精品视频一区二区三区四 | 99精品福利国产在线| 精品无码国产污污污免费网站| 免费精品国自产拍在线播放| 国产精品激情综合久久| 精品国产一区二区三区久久| 国内精品久久久久影院优| 中文字幕无码精品三级在线电影| 精品一区二区三区在线观看| 国产精品第一区第27页| 伊人久久大香线蕉精品| 2022精品天堂在线视频| 精品调教CHINESEGAY| 少妇人妻精品一区二区三区| 在线观看国产精品普通话对白精品| 久草热久草热线频97精品| 国产精品久久久久乳精品爆| 四虎影视国产精品亚洲精品hd| 国产精品高清一区二区人妖| 国精品午夜福利视频不卡麻豆| 久久久久久亚洲精品成人 | 精品人妻码一区二区三区| 亚洲日韩精品无码专区网址| 日本精品一区二区久久久| 久久国产综合精品五月天| 久久精品国产一区二区三区| 久久国产精品二国产精品| 国产精品无码一区二区在线观一| Aⅴ精品无码无卡在线观看| 国产叼嘿久久精品久久| 国产成人综合久久精品尤物| 国产欧美精品一区二区色综合| 国产亚州精品女人久久久久久|