2017-09-15 180 views
0

我想創建我自己的* ngIf指令。該指令將得到一個數字,並且如果屏幕的內部寬度像素小於其獲取的數字,則不會呈現模板。實現你自己的* ngIf

如何實現我自己的* ngIf?

+0

試試這與CSS @ @media唯一屏幕和(最大寬度:768px){' – Swoox

+0

請讓你的問題更清楚。 – monica

回答

1

這就是所謂的結構指令是否隱藏某些元素或沒有。

您可以檢查source of *ngIf

也有在有關https://angular.io/guide/structural-directives

主要部分的角文檔一節

this.viewContainer.createEmbeddedView(this.templateRef); 

,允許郵票的模板。

如果你有

<my-component *myIf="isTrueOrFalse"></my-component> 

*將導致

<my-component></my-component> 

傳遞爲模板的指令,然後可加蓋/移除。

0

這很簡單。

使用好老ngIf,這樣*ngIf='someVariable'然後只需撥動這個someVariabletruefalse當你想讓它變得渲染與否。

我會做什麼,是創建監聽窗口寬度事件來看,在寬度組件內的事件偵聽器將決定通過設置someVariable