什么是正确的方式访问本地元素在角度2(2差异)文档很少

前端之家收集整理的这篇文章主要介绍了什么是正确的方式访问本地元素在角度2(2差异)文档很少前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是正确的方式访问本地元素在角度2(2差异)
所以我看到代码使用:
  1. constructor(ele: ElementRef) {
  2. let myEl = ele.nativeElement;
  3. // do some work on myEl such as jQuery(myEl).hide()
  4. ...

以及通过BrowserDomAdapter使用本机dom的代码

  1. constructor(viewContainer:ViewContainerRef) {
  2. let dom = new BrowserDomAdapter();
  3. let el = viewContainer.element.nativeElement;
  4. let myEle = dom.getElementsByClassName(el,element)[0];
  5. // or jQuery(myEle).hide()
  6. ...

我想知道什么是Pro / Cons和“正当”的做事方式.
不幸的是,文档似乎很少.

我假设后者会通过界面给你WebWorkers支持,但这只是我的假设.

  1. <div #foo>
  1. @ViewChild() foo;
  2. ngAfterViewInit(){
  3. foo.nativeElement...
  4. }

或如果被转载

  1. @ContentChild() foo;
  2. ngAfterContentInit(){
  3. foo.nativeElement...
  4. }

允许通过模板变量或组件或指令类型来选择元素. (有一个类型,你会得到组件实例,而不是元素.

要么

  1. constructor(@ViewChildren('foo') elements) {...
  2. constructor(@ContentChildren('foo') elements) {...

@ViewChild提供了一个实时视图来匹配具有更改订阅的元素.

也可以看看

> What’s the difference between @ViewChild and @ContentChild?
> angular 2 / typescript : get hold of an element in the template

猜你在找的Angularjs相关文章