angular6 開發實踐基礎知識彙總
阿新 • • 發佈:2018-11-29
1 事件處理
1.1 滑鼠移入事件觸發
(mouseenter)=" "
eg: (mouseenter)="isCollapsed=false" 通過給isCollapsed賦值來實現隱藏顯示
1.2 滑鼠移出事件觸發
(mouseleave<ng-template>
元素中建立一個內嵌的檢視,並把這個檢視插入到一個檢視容器中,可以使用TemplateRef
取得 <ng-template>
的內容
ViewContainerRef 通過ViewContainerRef
來訪問這個檢視容器。
在指令裝飾器中,選擇在html中建立的指令屬性名字, 這個方括號定義出了一個 CSS 屬性選擇器。
@Directive({ selector: '[appUnless]'})
都注入到指令的建構函式中,作為該類的私有屬性。
constructor( private templateRef: TemplateRef<any>, private viewContainer: ViewContainerRef) { }自定義指令的執行程式碼 宣告一個控制屬性 private hasView = false; 設定自定義的屬性appUnless 的值的型別為布林值
@Input() set appUnless(condition: boolean) { 判斷 布林值不為真,且 宣告的變數值不為真 if (!condition && !this.hasView) { 在檢視中建立一個 內嵌的檢視,並把這個檢視插入到一個檢視容器中 this.viewContainer.createEmbeddedView(this.templateRef); 讓隱藏的檢視顯示出來 this.hasView = true; } else if (condition && this.hasView) { 把檢視容器中建立的內嵌檢視刪除 this.viewContainer.clear(); 讓顯示的檢視隱藏起來 this.hasView = false; } }