【发布时间】:2018-07-02 19:41:27
【问题描述】:
我有这个
https://angular-dynamic-component-append.stackblitz.io/
我设法动态附加一个元素,但它没有被编译。 看了很多教程this
但这并不是我真正需要的。他们经常使用标签符号来识别容器。
我需要将一个组件附加到任何可能具有 我的自定义指令就可以了。
我还需要使用指令的绑定值来控制附加元素上的 [hidden] 属性。
目标
- 覆盖现有组件的行为:
- 添加属性以显示/隐藏
- 添加类以自定义外观
- 减少 html 编码
- 无需编写整个组件
<my-comp></mycomp> - 不需要知道类
- 类名更改时的自动行为
- 更改应用指令的元素
- 最终目标是为容器元素添加一个类
- 无需编写整个组件
预期来源
<div [myDirective]="myBoolean">
<p>some content</p>
</div>
预期编译
<div [myDirective]="myBoolean" class="myDirectiveClass1">
<p>some content</p>
<someComponent [hidden]="myBoolean" class="myDirectiveClass2"></someComponent>
</div>
有没有办法做到这一点?
提前谢谢你
【问题讨论】:
-
这是一个比您尝试过的更复杂和令人费解的过程。在您的情况下,它只是一个
<mat-card>,所以您根本不需要这样做。但是,如果您需要在运行时动态创建一个元素而不提前注册它,那您就束手无策了。 -
没有编译是什么意思?
-
@LaurentSchwitter:上面的垫子卡和我小提琴下面的垫子卡看起来一样吗?你问过自己为什么吗?
-
@AluanHaddad 对不起,但我不明白“hosed”我找不到翻译...你是什么意思? (我是意大利人:D)
-
@AluanHaddad 我设法完成了我需要的一切。我会尽快回答这个问题。
标签: angular typescript angular-directive angular5