0828自我總結Vue中元件
元件:由 template + css + js 三部分組成(.vue檔案)
1)元件具有複用性
複用元件時,資料要隔離
複用元件時,方法不需要隔離,因為方法使用隔離資料就可以産生差別
元件介紹:
每一個元件都有自己的template(虛拟DOM),最後要替換掉真實DOM(渲染)
挂載點el,在根元件沒有規定template,用挂載的真實DOM拷貝出虛拟DOM,完成執行個體建立後再替換掉真實DOM(渲染)
挂載點el,在根元件規定template,就采用自己的template作為虛拟DOM,挂載點還是必須的,用于占位
所有 new Vue() 産生的元件都稱之為根元件 - 項目開發時,整個項目隻有一個根元件
template隻能解析一個根标簽
最後顯示的效果為
其實他是先出現message
然後由于後面的template會生成一個臨時的dom,會把前面el關聯的整個标簽變成template中的内容
局部元件可以分三步
建立元件
注冊元件
網頁中渲染
使用到全局元件的内容必須用Vue進行挂載,如果不挂載全局元件隻是個普通的自定義标簽
注意點
template中隻能有一個根标簽,如果有多個,隻生效第一個
template内容如果要多行顯示友善觀察的話用反引号`來代替雙引号或者單引号
把data裡面值放function中當然了function可以不用寫省略掉
而且不會受vue中msg影響,隻受元件中的msg影響
特點和局部相同
簡單總結
父級模闆:<local-tag :屬性名="父級的資料" v-for="ad in ads" :key="ad.img">
子級模闆: props: ['屬性名'],
子級模闆: <span @系統自帶的屬性="子級方法" class="del">x
子級執行個體方法中:this.$emit('自定義事件',子級資料們)
父級模闆:<msg-tag @自定義事件="父級的方法" v-for="(msg, i) in msgs" :key="msg">
父級方法: 父級的方法(子級的資料們){處理與子級相關的函數}