我在AngularJS中有一个组件,并且有一个类似于以下内容的模板
模板
<div id="{{ $ctrl.idName }}"></div>
组件控制器看起来像这样
组件控制器
export class SomeCtrl {
idName: string = "idName";
constructor(public $element) {
}
$postLink(): void {
const divElement = this.$element.find(`#${ this.idName }`);
console.log(divElement); //divElement is undefined
}
}
由于某种原因divElement
变得不确定,但是,如果我按如下方式在模板中写入名称
<div id="idName"></div>
然后找到该元素。我的假设是模板导致的,尚未完成编译。但是似乎也不是因为这两种原因,因为根据下面的文章ThoughtRam - Exploring Angular 1.5: Lifecycle Hooks
,在完成编译后会触发$postLink()
方法