第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Angular1升級(jí)到Angular2之組件樣式封裝

標(biāo)簽:
AngularJS

背景

angular1升级Angular8需要了解的改变,请移步传送门
angular8核心思想:模块化,各组件维护自己的样式。

样式升级

angular1代码

  //之前代码scss, 图便利,常写在父组件的scss文件中,
.parent-container{
 .demo-container {
	 .items{
	    .....
	  }
 }
}	

angular1编译后

.parent-container{
 ....
}
.demo-container{
 ....
}
.demo-container .items{
 ....
}

angular8样式封装

  • ShadowDom : 组件的宿主元素附加一个 Shadow Dom,进行样式标识。支持度有限。
  • None: 不进行样式封装,暴露为全局样式。
  • Native:已废弃。
  • Emulated : 模式(默认值),css样式重命名,进而唯一标识。此时,针对js动态添加的元素,需要使用:host, ::ng-deep 保持层级关系。

angular8样式需要拆分

各组件维护自己的样式 选择器要对应html

.parent-container{
 ...
}
// child 组件scss文件定义
 .demo-container{
    .items{
		 ....
		}
 }

angular8动态元素样式不生效

.demo-container{
    .items{
		 ....
		}
 }
//采用默认Emulated模式,此时动态添加的元素,样式会不生效。编译后如下
[_nghost-kjf-c2]   .demo-container[_ngcontent-kjf-c2]{
 ....
}
[_nghost-kjf-c2]   .demo-container[_ngcontent-kjf-c2]   .items[_ngcontent-kjf-c2] {
	....
}

angular8动态元素样式生效

:host ::ng-deep .demo-container{
    .items{
		 ....
		}
 }
//添加:host ::ng-deep,不因为重命名影响层级关系,编译如下
[_nghost-svo-c2]     .demo-container{
  ....
}
[_nghost-svo-c2]     .demo-container .items {
	...
}

参考文献

本文作者:前端首席体验师(CheongHu)

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消