欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue 組件使用中的一些細(xì)節(jié)點(diǎn)

 更新時(shí)間:2018年04月25日 10:34:38   作者:前端小智  
這篇文章主要介紹了vue 組件使用中的一些細(xì)節(jié)點(diǎn),大概有兩大細(xì)節(jié)點(diǎn),本文通過(guò)基礎(chǔ)實(shí)例給大家介紹的非常詳細(xì),需要的朋友參考下吧

細(xì)節(jié)一

基礎(chǔ)例子

運(yùn)行結(jié)果:

以上大家都懂,這邊就不多說(shuō),回到代碼里,有時(shí)候我們需要 tbody 里面每一行是一個(gè)子組件,那我們代碼可以怎么寫(xiě)呢?我們可以這樣寫(xiě),定義一個(gè)全局組件,如下:

然后我們?cè)?body 里面可以這么調(diào)用:

運(yùn)行結(jié)果:

可以看到 row 是有打印出來(lái)了,但它實(shí)際上里面沒(méi)有任務(wù)內(nèi)容,那我們的問(wèn)題出在哪呢?回到代碼我們發(fā)現(xiàn)我們?cè)趧?chuàng)建 vue 實(shí)例的時(shí)候沒(méi)有指定要掛載的點(diǎn),所以我們通過(guò) el 來(lái)指定 vue 接管的 Dom ,如下:

運(yùn)行結(jié)果:

感覺(jué)上沒(méi)有問(wèn)題,但真的是這樣嗎?我們通過(guò)檢查元素,查看DOM結(jié)構(gòu):

大家可以看到出錯(cuò)啦?正常的三個(gè) tr 應(yīng)該是在 tbody 里面, 而現(xiàn)在跑到跟 tbody 同一層了,這是怎么回事呢?

在H5的規(guī)范里面,要求我們 table 里面有 tbody, tbody 里面必須得放 tr,而現(xiàn)在我們使用子組件里面寫(xiě)成 row, 所以我們的瀏覽器在解析的時(shí)候就會(huì)出問(wèn)題。

那么我們一旦遇到這種情況出現(xiàn) bug 要怎么解呢? 這時(shí)候我們可以借助 vue 提供的 is 屬性來(lái)解決這個(gè)問(wèn)題。很簡(jiǎn)單, tbody 里面只能寫(xiě) tr, 那我們就都寫(xiě) tr,可是實(shí)際上我們要顯示 tr 并不是就真的只顯示 tr 空的內(nèi)容,我們需要顯示 row 組件的內(nèi)容,那怎么做?

我們可以在 tr 多一個(gè)屬性is 讓它等于 row, 如下:

這段代碼的意思是:我要用一個(gè)組件,但是我不能直接寫(xiě)這個(gè)組件,所以我們寫(xiě)了一個(gè) tr, 我們用 is 表示雖然我寫(xiě)的是 tr, 但它表示是 row 組件,這樣能既能符合 H5 的規(guī)范又能顯示我們組件的內(nèi)容 ,程序就不會(huì)有 bug 了。

運(yùn)行結(jié)果:

一切正常。

同樣我們使用 ul, select 標(biāo)簽的時(shí)候,也可以用這種方法。

細(xì)節(jié)二

基礎(chǔ)例子

我們定義了一個(gè)組件 row,里面有段文本,如果我們想把這段文本單獨(dú)提取出來(lái)用變量表示 ,那么你很有可能會(huì)這樣寫(xiě):

看似完美,在打開(kāi)瀏覽器運(yùn)行你會(huì)發(fā)現(xiàn),bug 正向你招手:

主要意思是 data 是要一個(gè)函數(shù),而不是一個(gè)對(duì)象,什么情況,在根組件,也就是最外層 vue 的實(shí)例,我們通過(guò)對(duì)象定義是 ok 的,但是在非根組件的子組件這樣定義是不行滴。data 定義要求是一個(gè)函數(shù),同時(shí)這個(gè)函數(shù)要求返回一個(gè)對(duì)象,如下:

運(yùn)行結(jié)果:

這樣問(wèn)題就解決啦。

之所以這么定義,原因是一個(gè)子組件不像根組件只被調(diào)用一次,而是可以多次調(diào)用,那么每一個(gè)子組件的數(shù)據(jù)我們不希望和其它的子組件產(chǎn)生沖突或者說(shuō)每個(gè)子組件都應(yīng)該有一個(gè)自己的數(shù)據(jù)域,通過(guò)函數(shù)返回一個(gè)對(duì)象就可以實(shí)現(xiàn)這個(gè)需求。

細(xì)節(jié)三

基礎(chǔ)例子

運(yùn)行,點(diǎn)擊彈出click,沒(méi)毛病。vue 不建議我們?cè)诖a里面操作 Dom, 但是在處理一些極其復(fù)雜的動(dòng)畫(huà)效果,我們還真得操作 Dom, 那么在 vue 中如何操作 Dom 呢? 我們可以通過(guò) ref 引用的方式,如下:

這時(shí)候我們有個(gè)需求,就是點(diǎn)擊div 的時(shí)候,把里面的內(nèi)容打印出來(lái),我們可以通過(guò)引用獲取div節(jié)點(diǎn),然后打印div 里面的內(nèi)容即可:

運(yùn)行結(jié)果:

總結(jié)

以上所述是小編給大家介紹的vue 組件使用中的一些細(xì)節(jié)點(diǎn),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • element-ui循環(huán)顯示radio控件信息的方法

    element-ui循環(huán)顯示radio控件信息的方法

    今天小編就為大家分享一篇element-ui循環(huán)顯示radio控件信息的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • vue3 element-plus如何使用icon圖標(biāo)組件

    vue3 element-plus如何使用icon圖標(biāo)組件

    這篇文章主要介紹了vue3 element-plus如何使用icon圖標(biāo)組件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue+ElementUI實(shí)現(xiàn)從后臺(tái)動(dòng)態(tài)填充下拉框的示例代碼

    Vue+ElementUI實(shí)現(xiàn)從后臺(tái)動(dòng)態(tài)填充下拉框的示例代碼

    本文主要介紹了Vue+ElementUI實(shí)現(xiàn)從后臺(tái)動(dòng)態(tài)填充下拉框的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 基于vue3和element plus實(shí)現(xiàn)甘特圖

    基于vue3和element plus實(shí)現(xiàn)甘特圖

    甘特圖是一種重要的項(xiàng)目管理工具,它可以通過(guò)圖形化的方式展示項(xiàng)目的進(jìn)度和時(shí)間表,甘特圖通常由一個(gè)橫軸和一個(gè)縱軸組成,甘特圖對(duì)于項(xiàng)目管理非常重要,所以本文給大家介紹了如何基于vue3和element plus實(shí)現(xiàn)甘特圖,需要的朋友可以參考下
    2024-06-06
  • Vue.js每天必學(xué)之過(guò)渡與動(dòng)畫(huà)

    Vue.js每天必學(xué)之過(guò)渡與動(dòng)畫(huà)

    Vue.js每天必學(xué)之過(guò)渡與動(dòng)畫(huà),對(duì)Vue.js過(guò)渡與動(dòng)畫(huà)進(jìn)行深入學(xué)習(xí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 在Vue項(xiàng)目中使用自定義字體的操作步驟

    在Vue項(xiàng)目中使用自定義字體的操作步驟

    在項(xiàng)目中使用自定義字體可以提升頁(yè)面的視覺(jué)效果,并確保在不同設(shè)備上的一致性,文中通過(guò)代碼示例給出了具體的操作步驟,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法

    Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法

    Vue?是一款流行的JavaScript?框架,用于構(gòu)建用戶界面,在Vue2和?Vue3中,都存在一個(gè)名為toRefs的函數(shù),但其行為在這兩個(gè)版本中有所不同,這篇文章主要介紹了Vue2和Vue3中toRefs的區(qū)別,需要的朋友可以參考下
    2023-08-08
  • 在nuxt使用vueX代替storage的實(shí)現(xiàn)方案

    在nuxt使用vueX代替storage的實(shí)現(xiàn)方案

    這篇文章主要介紹了在nuxt使用vueX代替storage的實(shí)現(xiàn)方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue項(xiàng)目打包到服務(wù)器后請(qǐng)求接口報(bào)錯(cuò)404的解決

    Vue項(xiàng)目打包到服務(wù)器后請(qǐng)求接口報(bào)錯(cuò)404的解決

    這篇文章主要介紹了Vue項(xiàng)目打包到服務(wù)器后請(qǐng)求接口報(bào)錯(cuò)404的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vscode中開(kāi)發(fā)運(yùn)行uniapp項(xiàng)目詳細(xì)步驟

    vscode中開(kāi)發(fā)運(yùn)行uniapp項(xiàng)目詳細(xì)步驟

    VSCode作為一個(gè)非常強(qiáng)大的代碼編輯器,可以集成眾多的插件和工具來(lái)優(yōu)化開(kāi)發(fā)效率,這篇文章主要給大家介紹了關(guān)于vscode中開(kāi)發(fā)運(yùn)行uniapp項(xiàng)目的詳細(xì)步驟,需要的朋友可以參考下
    2023-07-07

最新評(píng)論