鍍金池/ 問答/Linux  HTML/ vue中的scoped對(duì)slot不起作用嗎?

vue中的scoped對(duì)slot不起作用嗎?

我在使用vue的插槽時(shí),發(fā)現(xiàn)一個(gè)問題。

我先將提供插槽的組件叫做父組件,向父組件的插槽插入內(nèi)容的組件叫做子組件。

父子組件我都對(duì)style標(biāo)簽使用了scoped標(biāo)記,按理來說,父子組件是不同的.vue文件,使用scoped后,兩個(gè)組件中的同名class應(yīng)該不會(huì)相互影響。

但事實(shí)并非如此,查看dom結(jié)構(gòu)也可以看到,子組件中的標(biāo)簽有兩個(gè)“data-v-”屬性,其中有一個(gè)和父組件相等,這表明父組件中和子組件同名的class會(huì)污染子組件的渲染!

這是怎么回事,翻遍了官方文檔,沒有對(duì)這個(gè)問題有任何特殊的描述。但它看起來確實(shí)沒有到達(dá)scoped屬性預(yù)期的工作效果。

clipboard.png

回答
編輯回答
陪她鬧

從 vue-loader 9.x 開始,父組件的 scoped 樣式會(huì)作用在 slot 里的內(nèi)容上。詳情見 https://github.com/vuejs/vue-...。翻了下文檔好像的確沒有提起這件事,你可以在那個(gè) issue 下面評(píng)論建議他們把這條加到文檔里去

2017年7月13日 02:55