【发布时间】:2017-05-27 20:33:33
【问题描述】:
假设一个有两个预定义的指令dir1 和dir2(它们由一个无法控制的第三方 API 提供)。假设这些可以应用于 html 元素,如下所示:
<div dir1="red" [dir2]="123">... My Content ...</div>
我发现自己在我的代码中的多个位置应用了具有完全相同绑定值的上述指令。我不想重复自己,而是想创建自己的自定义指令,称之为myDir,我可以这样应用:
<div MyDir >... My Content ...</div>
这应该完全与应用dir1 和dir2 相同,如在上面的示例中,即它将在其类中硬编码"red" 和123 值。
我已尝试按照以下plunker 示例设置主机绑定,但这不起作用..
我的一个想法是,如果只有 typescript 具有多重继承,那么我只需将 MyDir 类编写为 Dir1 的扩展和 Dir2..
我的问题是如何编写自定义指令 (MyDir) 以实现预期用途?
请协助, 谢谢你!
【问题讨论】:
-
如果目标是您的指令添加导致其他指令被添加的属性,那么这将不起作用。 Directives are only added when the selector matches statically added HTML.无法动态添加指令。我也不知道另一种方法,除了在一个指令中重新实现其他 2 个指令的功能。
标签: angular typescript angular-directive