Мне нужно обнаруживать изменения в angular только один раз, когда компонент загружен или когда маршрут изменился, и после этого я хочу прекратить обнаружение изменений.
На самом деле мне нужно показывать и скрывать функциональность в зависимости от роли пользователя. Итак, у меня есть много *ngIf
в одном HTML-шаблоне, но мне нужно проверить условие *ngIf
только один раз, когда шаблон загружается в первый раз, и перестать обнаруживать изменения после этого, потому что это влияет на производительность.
Я хочу, чтобы страница была статической после однократного обнаружения изменений.
Например :
<li *ngIf="doesHavePermission('templateName')">
</li>
должен проверить один раз, но я вижу, что он проверяет изменение много раз для одного *ngIf
, и у меня есть много *ngIf
, например:
Я нашел markForCheck()
и detach()
в этом документе angular https://angular.io/api/core/ChangeDetectorRef а>.
Но то, что они делают, так это то, что они либо разрешают обнаружение всех изменений, либо не разрешают вообще,
И мне нужно обнаружить изменения только один раз и после этого остановиться.
Можем ли мы сделать это однократное обнаружение изменения времени в angular?
Или есть лучший способ справиться со сценарием?