首页 > 解决方案 > 访问模板中的新属性

问题描述

我想从指令中访问主机元素自定义属性集。

我的指令中有这段代码:

@Directive({  selector: '[myDirective]'})
export class MyDirective {
...
  @HostListener('input')
  onInput() {
    this.elementRef.nativeElement.myProp = true;
  }
}

这在我的模板中

<input MyDirective #myInput="ngModel" />
<p #myP>{{myInput.myProp}}</p>
<button [disabled]=myInput.myProp>Click</button>

我可以看到该属性是在打字稿代码中设置的(在调试器中和/或通过日志记录),但它似乎不会影响结果代码(myP为空并且按钮永远不会被禁用)。这是不可能的还是我做错了?

如果以上是不可能的,是否有任何其他方法可以通过模板中的主机元素访问我的指令的宿主元素自定义属性/属性或(甚至更好)我的指令实例本身?类似的东西[disabled]=myInput.myDirective.myProp

标签: angularangular-directive

解决方案


推荐阅读