如何获取对角度结构指令容器内元素的引用

问题描述

我有以下模板,其中包含一个名为 *appUnless 的测试结构指令:

<h1 *appUnless>
  <app-hello></app-hello>
  <input type="text" value="hello" />
</h1>

在我的结构指令中,到目前为止我有这个:

import {
  Directive,Input,TemplateRef,ViewContainerRef,} from "@angular/core";

@Directive({
  selector: "[appUnless]",})
export class UnlessDirective {
  constructor(
    private templateRef: TemplateRef<any>,private viewContainer: ViewContainerRef
  ) {}

  @input()
  set appUnless(message: string) {
    const embeddedViewRef = this.viewContainer.createEmbeddedView(
      this.templateRef
    );
  }
}

如何从指令中获取input 元素的引用?我希望能够引用 input 与在其上放置模板引用声明没有什么不同,即,如果我要执行 <input #myInput>。显然,由于我无法控制容器内放置的内容,因此无法将 #myInput 放入模板中。

此外,如何从该指令中获得对具有正确类型的 AppHelloComponent支持 app-hello)的引用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...