1
即时尝试将我的角1指令代码转换为角2.但它会抛出一个错误,指出ElementRef.find()不是函数。有没有其他办法可以达到同样的效果。在元素中查找元素。ElementRef.find()不是函数angular 2
角1
link: function ($scope, $elem, attrs) {
var elem = $elem[0] table = $elem,
thead = table.find('thead'),
tbody = table.find('tbody'),
}
角2
constructor(el: ElementRef, renderer: Renderer) {
this.elem = el.nativeElement;
this.table = el,
this.thead = this.table.find('thead');
this.tbody = this.table.find('tbody');
this.tableWidth = this.table[0].getBoundingClientRect().width;
}
this.table里面的angular 2指令docent显示内部元素。所以querrySelector文件可以工作。甚至尝试this.table.nativeElement.querySelector('thead') – janIreal23
请提供更多的代码。从这些微小的代码片段中诊断发生了什么是不可能的。如果HTML位于组件的模板中,那么您还需要将代码从构造函数移动到“ngAfterViewInit()”;如果代码位于指令中或其投影内容更新了我的答案,则需要将代码从构造函数移动到ngAfterViewInit 。 –
完美'this.table.nativeElement.querySelector('thead');''ngAfterViewInit()'内''工作。 – janIreal23