<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      基礎

      混入 (mixin)提供了一種非常靈活的方式,來分發 Vue 組件中的可復用功能。一個混入對象可以包含任意組件選項。當組件使用混入對象時,所有混入對象的選項將被“混合”進入該組件本身的選項。

      例子:

      1、定義一個混入對象(mixin.js)

        export const myMixin = {
            data() {
                return {
                    num: 1
                }
            },
            created() {
                this.hello()
            },
            methods: {
                hello () {
                    console.log('hello from mixin')
                }
            }
        }
      

      2、把混入對象混入到當前的組件中

        <template>
            <div>
                組件1
            </div>
        </template>
      
        <script>
        import { myMixin } from '@/mixin.js';
        export default {
            mixins: [myMixin]
        }
        </script>
      

      用法似不似相當簡單呀


      mixins的特點

      1、參數在各組件中不共享

      定義組件 1,并對參數num進行+1的操作

        <template>
          <div>
              組件 1 里的num值是: {{ num }}
          </div>
      </template>
       
        <script>
        import { myMixin } from '@/mixin.js';
        export default {
            mixins: [myMixin],
            created () {
                this.num++
            }
        }
        </script>
      

      定義組件 2,參數num 不做操作

        <template>
            <div>
                組件 2 里的num值是: {{ num }}
            </div>
        </template>
       
        <script>
        import { myMixin } from '@/mixin.js';
        export default {
            mixins: [myMixin]
        }
        </script>
      

      看兩組件中分別輸出的num值

        組件 1 :num的值是 2
        組件 2 :num的值 是1
      

      大家可以看到,我在組件1里改變了num里面的值,組件2中的num值還是混入對象里的初始值,由此可以看出:參數在各組件中不共享


      2、值為對象的選項,如methods,components等,選項會被合并,鍵沖突的組件會混入對象的

      在混入對象(mixin.js) 定義方法 one、two

        export const myMixin = {
            methods: {
                one () {
                    console.log('one from mixin');
                },
                two () {
                    console.log('two from mixin');
                }
            }
        }
      

      在組件中定義方法 one、two

        <template>
            <div>
                template
            </div>
        </template>
        <script>
        import { myMixin } from '@/mixin.js';
        export default {
            mixins: [myMixin],
            created () {
                this.list()
                this.one()
                this.two()
            },
            methods: {
              list () {
                  console.log('list from template');
              },
              one () {
                    console.log('one from template');
              },
              two () {
                  console.log('two from template');
              }
            }
        }
        </script>
      

      打印臺的輸出:

        list from template
        one from mixin
        two from template
      

      可以看到選項會 被合并,鍵 沖突的 組件 會 覆蓋 混入對象的


      3、值為函數的選項,如created, mounted等,就會被合并調用,混合對象里的鉤子函數在組件里的鉤子函數之前調用

      在混入對象(mixin.js)定義 console.log()

        export const myMixin = {
            created() {
                console.log('created from mixin');
            },
        }
      

      在組件中定義 console.log()

        <template>
            <div>
                template
            </div>
        </template>
       
        <script>
        import { myMixin } from '@/mixin.js';
        export default {
            mixins: [myMixin],
            created() {
              console.log('created from template');
            }
        }
        </script>
      

      打印臺的輸出:

        created from mixin
        created from template
      

      可以看到 值為 函數 的選項,如created, mounted等,就會 被合并調用,混合對象里的鉤子函數 在組件里的鉤子函數之 前 調用


      與vuex的區別

      vuex:用來做狀態管理的,里面定義的變量在每個組件中均可以使用和修改,在任一組件中修改此變量的值之后,其他組件中此變量的值也會隨之修改。
      Mixins:可以定義共用的變量,在每個組件中使用,引入組件中之后,各個變量是相互獨立的,值的修改在組件中不會相互影響。

      與公共組件的區別

      組件:在父組件中引入組件,相當于在父組件中給出一片獨立的空間供子組件使用,然后根據props來傳值,但本質上兩者是相對獨立的。
      Mixins:則是在引入組件之后與組件中的對象和方法進行合并,相當于擴展了父組件的對象與方法,可以理解為形成了一個新的組件。

      posted on 2022-03-03 11:14  菜鳥的飛翔夢  閱讀(466)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 台湾省| 国产日韩一区二区四季| 亚洲av无码一区二区三区网站| 亚洲国产精品久久久天堂麻豆宅男 | 卡一卡二卡三精品| 海宁市| 国产成人无码av一区二区| 亚洲精品成人福利网站| 国产丰满麻豆videossexhd| 国产盗摄视频一区二区三区| 东方四虎在线观看av| 熟女视频一区二区在线观看| 色综合一本到久久亚洲91| 久久人与动人物a级毛片| 无码粉嫩虎白一线天在线观看| 人妻av资源先锋影音av资源| 玩弄漂亮少妇高潮白浆| 国产av麻豆mag剧集| 无码一区二区三区视频| 一本大道久久东京热AV| 富锦市| 亚洲综合一区无码精品| 人妻av资源先锋影音av资源| 国产成人综合色就色综合| 日本边添边摸边做边爱的网站| 国产精品第一页中文字幕| 日韩丝袜欧美人妻制服| 欧洲亚洲精品免费二区| 国产自拍偷拍视频在线观看| 少妇xxxxx性开放| 艳妇臀荡乳欲伦69调教视频| 91国产自拍一区二区三区| 午夜DY888国产精品影院| 97中文字幕在线观看| 奶头好大揉着好爽视频| 全免费A级毛片免费看无码| 欧美福利电影A在线播放| 国产精品一区二区 尿失禁| 亚洲国产午夜精品福利| 韩国免费A级毛片久久| 四虎永久精品在线视频|