2016-07-14 49 views
0

在角度1,我可以做NG2一旦初始化DOM屬性和下降變化檢測

<span ng-bind="::expression"></span> 

設置跨度的innerHTML而不創建觀察者。

在angular 2中,我正在考慮一些方法來實現,但我不知道初始化後更改探測器是否仍然存在。因爲我只想初始化innerHTML一次,所以在第一次傳遞後刪除更改檢測將會很好。有人可以幫忙嗎?

  1. <span [innerHTML]="expression"></span>
  2. <span innerHTML="{{expression}}"></span>
  3. <span>{{expression}}</span>

和關於2.我認爲支架可以做字符串初始化時ommitted官方文檔中找到,但我不知道會發生什麼時,它的結合{{}}插值。 https://angular.io/docs/ts/latest/guide/template-syntax.html#!#one-time-string-initialization

回答

1

您可以更改組件如何做變化檢測方式:

@Component({changeDetection:ChangeDetectionStrategy.OnPush}) 
class MyComponent { 
    ... 
} 

的更多信息:http://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.htmlhttp://victorsavkin.com/post/110170125256/change-detection-in-angular-2

+0

感謝您的輸入。 ChangeDetectionStrategy的限制似乎是它適用於整個模板。如果我只想要一些屬性爲「OnPush」,它會起作用嗎? – evenstar

+1

使這些屬性成爲另一個'Directive'或'Component'的一部分 –