<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)前位置: 首頁 - 科技 - 知識百科 - 正文

        Vue中組件之間數(shù)據(jù)的傳遞的示例代碼

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

        Vue中組件之間數(shù)據(jù)的傳遞的示例代碼

        Vue中組件之間數(shù)據(jù)的傳遞的示例代碼:Vue中組件的作用域是隔離的,父組件中的數(shù)值子組件看不到!也就是說,用angular作比喻,組件的scope天生是scope:()的! 如果父組件需要往子組件中傳數(shù)據(jù),此時應(yīng)該使用標(biāo)簽屬性: <div id=app> <my-compo c=886>&l
        推薦度:
        導(dǎo)讀Vue中組件之間數(shù)據(jù)的傳遞的示例代碼:Vue中組件的作用域是隔離的,父組件中的數(shù)值子組件看不到!也就是說,用angular作比喻,組件的scope天生是scope:()的! 如果父組件需要往子組件中傳數(shù)據(jù),此時應(yīng)該使用標(biāo)簽屬性: <div id=app> <my-compo c=886>&l

        Vue中組件的作用域是隔離的,父組件中的數(shù)值子組件看不到!也就是說,用angular作比喻,組件的scope天生是scope:()的!
        如果父組件需要往子組件中傳數(shù)據(jù),此時應(yīng)該使用標(biāo)簽屬性:

        <div id="app">
         <my-compo c="886"></my-compo>
        </div>

        子組件中,用props聲明這個值即可。并且在template里面可以直接使用{{c}}來獲得這個屬性,而不需要寫為{{this.props.c}}

        import Vue from "vue";
        
        const MyCompo = Vue.extend({
         template : `
         <div>
         <h1>我是MyCompo組件,我的a值是{{a}}</h1>
         <h1>子組件c:{{c}}</h1>
         <input type="button" value="+++" v-on:click="add"/>
         </div>
         `,
         props : ["c"],
         data : function(){
         return {
         a : 1, 
         b : 2
         }
         },
         methods : {
         add : function(){
         this.a ++;
         }
         }
        });
        
        export default MyCompo;
        
        

        如果父組件中要傳一個動態(tài)的值(就是父組件的data,不是死數(shù)),此時要用v-bind:來傳遞。
        v-bind指令表示動態(tài)屬性。

        <div id="app">
         <my-compo v-bind:c="c"></my-compo>
        </div>
        

        此時我們研究,子組件改變了這個值,父組件的值變不變。答:默認(rèn)情況下不變!

        <my-compo v-bind:c="c"></my-compo>
        
        import Vue from "vue";
        
        const MyCompo = Vue.extend({
         template : `
         <div>
         <h1>我是MyCompo組件,我的a值是{{a}},我的c值是:{{c}}</h1>
         <input type="button" value="+++" v-on:click="add"/>
        
         </div>
         `,
         props : ["c"],
         methods : {
         add : function(){
         this.c ++;
         }
         }
        });
        
        export default MyCompo;
        
        

        子組件的c值變化了,但是外面不變!

        也就是說,默認(rèn)情況下,父組件中的屬性值如果傳給兒子,子組件改變這個值,僅僅改變子組件中的值,父組件中的值不變。

        如果非要讓子組件能夠改變父組件中的值,要加sync修飾符:

        <my-compo v-bind:c.sync="c"></my-compo>

        上面的c屬性是一個基本類型值常數(shù)3。此時我們試試引用類型值。

        父組件中增加d屬性,值是json。

        import Vue from "vue";
        import MyCompo from "./components/MyCompo.js";
        
        new Vue({
         el : "#app",
         data : {
         c : 333,
         d : {
         v : 8888
         }
         },
         components : {
         "my-compo" : MyCompo
         }
        });
        
        

        傳給子組件:

        <!DOCTYPE html>
        <html lang="en">
        <head>
         <meta charset="UTF-8">
         <title>Vue學(xué)習(xí)</title>
        </head>
        <body>
         <div id="app">
         <h1>我是父親,我的c: {{c}} ,我的d:{{d | json}}</h1>
         <my-compo v-bind:c.sync="c" v-bind:d="d"></my-compo>
         </div>
        
         <script type="text/javascript" src="public/bundle.js"></script>
        </body>
        </html>
        
        

        子組件改變d的時候,父親也變了!!!雖然我們沒加.sync。

        總結(jié):

        Vue中基本類型值默認(rèn)單向傳遞,雙向加sync。

        引用類型值,默認(rèn)雙向傳遞。

        小tip,v-bind的縮寫語法就是冒號。

        屬性可以驗證類型、必填等等。

        props : {
         "c" : null,
         "d" : null,
         "e" : {
         type : Number,
         required : true
         }
        },
        

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

        文檔

        Vue中組件之間數(shù)據(jù)的傳遞的示例代碼

        Vue中組件之間數(shù)據(jù)的傳遞的示例代碼:Vue中組件的作用域是隔離的,父組件中的數(shù)值子組件看不到!也就是說,用angular作比喻,組件的scope天生是scope:()的! 如果父組件需要往子組件中傳數(shù)據(jù),此時應(yīng)該使用標(biāo)簽屬性: <div id=app> <my-compo c=886>&l
        推薦度:
        標(biāo)簽: 數(shù)據(jù) VUE 代碼
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 成人免费午夜无码视频| 免费国产99久久久香蕉| 亚洲免费综合色在线视频| 亚洲视频手机在线| 四虎在线成人免费网站| 亚洲人成日本在线观看| 国产99视频精品免费观看7| 国产成人精品日本亚洲11| 在线a人片天堂免费观看高清| 亚洲精品伊人久久久久| 成人免费毛片内射美女APP| 久久久久久亚洲精品影院| 午夜免费福利影院| 国产亚洲精品2021自在线| 国产区图片区小说区亚洲区| 日韩中文无码有码免费视频| 亚洲AV永久无码天堂影院| 国产精品福利片免费看| 亚洲午夜福利AV一区二区无码| a级成人毛片免费视频高清| 亚洲国产高清视频| 99在线视频免费观看视频 | 成人免费777777被爆出| 亚洲AV无码久久精品蜜桃| 16女性下面扒开无遮挡免费| 456亚洲人成影院在线观| 日产国产精品亚洲系列| 日韩亚洲国产高清免费视频| 免费观看国产精品| 国精产品一区一区三区免费视频| 又粗又大又猛又爽免费视频| 亚洲制服丝袜精品久久| 在线观看免费国产视频| 99视频免费在线观看| 亚洲免费视频播放| 深夜国产福利99亚洲视频| 久久久久免费看黄a级试看| 亚洲午夜理论片在线观看| 成人免费一区二区无码视频| 一级做a爰片久久毛片免费陪 | 中文有码亚洲制服av片|