<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關鍵字專題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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        分享vue2.X組件的實例教程

        來源:懂視網 責編:小采 時間:2020-11-27 20:16:58
        文檔

        分享vue2.X組件的實例教程

        分享vue2.X組件的實例教程:關注點:父子組件之間的通信看圖說話:Pass Props子組件本身與父組件是孤立的,通過子組件中顯示聲明的props屬性,接收父組件數據;父組件的數據更新時,子組件的prop會跟著更新;此數據流動是單向的(看著);Emit Events子組件使用$.emit(fn)向外拋
        推薦度:
        導讀分享vue2.X組件的實例教程:關注點:父子組件之間的通信看圖說話:Pass Props子組件本身與父組件是孤立的,通過子組件中顯示聲明的props屬性,接收父組件數據;父組件的數據更新時,子組件的prop會跟著更新;此數據流動是單向的(看著);Emit Events子組件使用$.emit(fn)向外拋
        關注點:父子組件之間的通信

        看圖說話:

        Pass Props

      1. 子組件本身與父組件是孤立的,通過子組件中顯示聲明的props屬性,接收父組件數據;

      2. 父組件的數據更新時,子組件的prop會跟著更新;

      3. 此數據流動是單向的(看著);

      4. Emit Events

      5. 子組件使用$.emit(fn)向外拋出自己的內部觸發的事件;

      6. 父組件是否監聽?如果父組件需要監聽,使用v-on綁定監聽,觸發對應事件;

      7. 以上為通用語,具體分析

      8. 子組件可以接收一個字符串,在子組件內部可以用{{label}}使用 

      9. <v-input label="姓名"></v-input>
      10. 子組件可以接收動態參數

      11. <input v-model="msg" /><v-profile :message="msg"></v-profile>

        子組件接收到數據之后想處理一下不小心改了怎么辦?

      12. 給prop創建一個副本(建議深拷貝),處理副本,不動prop;

      13. 父組件的數據改變后,子組件的prop會自動更新,但是這個prop的副本不會啊?

      14. 使用watch監聽這個prop,改變時更新副本;

      15. 子組件的prop副本改變了想要通知父組件怎么辦?

      16. 使用watch監聽這個副本,改變時向外拋出自己的內部觸發的事件;

      17. 。。

        其實以上???在2.3有了更好的方法,之前的就是看看。

        .sync修飾符

        ***父組件***
        <input v-model="msg" />
        <v-profile :message.sync="msg"></v-profile>
        ***子組件***$.emit('update:message',newValue)

        我是用了一下然后喜聞樂見的修改成功了,但是打開控制臺有報錯?。?!

        vue.esm.js?65d7:434 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "message"

        子組件想要觸發父組件可以emit(父組件需要監聽才會觸發),父組件觸發子組件事件呢?

      18. 通過在引用的子組件上使用ref屬性實現父組件調用子組件的方法以及屬性

      19. 但是!$refs 只在組件渲染完成后才填充,并且它是非響應式的。它僅僅作為一個直接訪問子組件的應急方案——應當避免在模版或計算屬性中使用 $refs 。

        關注點:非父子組件之間的通信

        使用空的vue實例作為中央事件總線

        var bus = new Vue();// 觸發組件 A 中的事件bus.$emit('id-selected', 1)// 在組件 B 創建的鉤子中監聽事件bus.$on('id-selected', function (id) { // ...})

        考慮vuex

        關注點:在組件中使用slot

        首先,在父組件中給子組件標簽中間放置內容是無效的。然后slot出場。

        白話版本:

        匿名slot:
         slot標簽存在與子組件template中;
         子組件在父組件中使用的時候,子組件標簽中的結構會在編譯后替換子組件的slot標簽;
        如果子組件中沒有slot,則父組件中子組件標簽中的內容會消失; 具名slot: 顧名思義,是具有name屬性的slot標簽;并有匿名組件的特性(以上); 子組件在父組件中使用的時候,子組件中的結構中會有某些標簽擁有slot屬性并賦值,這些會在編譯后替換子組件的相應slot標簽;

        一句話解釋:主要的內容是寫在父組件中的子組件標簽中,編譯后插入子組件的相應位置

        講真,說到這里我自己都不明白要slot干嘛。

        官方講解入口

        官方給了個布局的例子:

        <div class="container">
         <header><slot name="header"></slot>
         </header>
         <main><slot></slot>
         </main>
         <footer><slot name="footer"></slot>
         </footer></div>
        View Code
        <app-layout>
         <h1 slot="header">這里可能是一個頁面標題</h1>
         <p>主要內容的一個段落。</p>
         <p>另一個主要段落。</p>
         <p slot="footer">這里有一些聯系信息</p>
        </app-layout>
        View Code

        關注點:動態組件使用

      20. 通過使用保留的 <component> 元素,動態地綁定到它的 is 特性,我們讓多個組件可以使用同一個掛載點,并動態切換:很適用于制作Tab類的效果

      21. <component v-bind:is="currentView" :data1="data1" :data2="data2">
         <!-- 組件在 vm.currentview 變化時改變! -->
        </component>
      22. 在methods屬性中定義一個函數修改currentView即可。

      23. 視情況可以配合 keep-alive 避免重新渲染

      24. 在子組件上放置activate鉤子做切換時的工作:done() //放到鉤子最后,表示執行工作完畢,可以切換組件,配合keep-alive使用,activate鉤子只執行一次

      25. 子組件接收數據和以往相同,只是這一次都寫在了component中,只是如此的話,每個子組件都需要有這些接口(prop)

      26. 暫時說到這里,突然得回頭看一下react,沒時間了,回頭會繼續。

        以上的滿基礎的(我是新手),有什么不對的求指出,感謝?。。?/p>


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

        文檔

        分享vue2.X組件的實例教程

        分享vue2.X組件的實例教程:關注點:父子組件之間的通信看圖說話:Pass Props子組件本身與父組件是孤立的,通過子組件中顯示聲明的props屬性,接收父組件數據;父組件的數據更新時,子組件的prop會跟著更新;此數據流動是單向的(看著);Emit Events子組件使用$.emit(fn)向外拋
        推薦度:
        標簽: 分享 VUE 教程
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成无码网WWW| 亚洲成a人片在线观看精品| 亚洲成a∨人片在无码2023 | 亚洲综合另类小说色区色噜噜| 亚洲精品无播放器在线播放| 在线成人a毛片免费播放| 亚洲国产精华液2020| 日本无卡码免费一区二区三区| 亚洲精品蜜夜内射| 四虎精品亚洲一区二区三区 | 亚洲成年网站在线观看| 最近中文字幕mv免费高清电影| 亚洲精品乱码久久久久久久久久久久| 亚洲另类无码专区首页| 久久久久久精品成人免费图片| 亚洲日韩乱码中文无码蜜桃 | 2021精品国产品免费观看| 亚洲福利视频网站| www.黄色免费网站| 亚洲精品视频免费看| 国产桃色在线成免费视频| 亚洲高清在线观看| 在线a免费观看最新网站| 亚洲综合欧美色五月俺也去| 99在线精品视频观看免费| 亚洲欧洲日产国码久在线| 国产成人精品日本亚洲专区| 91精品国产免费久久国语麻豆| 亚洲看片无码在线视频| 亚洲黄黄黄网站在线观看| 一级毛片不卡片免费观看| 亚洲综合国产成人丁香五月激情 | 亚洲色大成网站www永久一区| 最近免费中文字幕大全免费 | 亚洲国产精品无码一线岛国| 亚洲免费闲人蜜桃| 久青草国产免费观看| 免费一级毛片在线播放| 国产亚洲福利一区二区免费看| 大学生高清一级毛片免费| 国产高清视频免费在线观看|