2016-07-14 50 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'的一部分 –