我想构建一个指令(我们称之为“A”),它接受嵌入内容的 HTML,并通过使用自定义逻辑在其上添加 ng-click
处理程序来修改其嵌入内容。
我认为预链接是执行此操作的好地方,但显然我错了(似乎文档建议反对它)。
每个“A”指令都会接受自己的(唯一的)内容,因此我无法在编译阶段执行此操作。
在 link
函数中,我不确定我能做什么...
那么,有人做过类似的事情吗?
编辑:
我忘了提及这一点:ngClick
的处理程序应该在指令的范围内定义,而不是在父范围内。我不知道 Angular 是否允许这样做,但这正是我所需要的。
最佳答案
在您的模板中,您应该在想要添加自定义 html 的元素上添加 ng-transclude。
您对该指令的使用:
<attribute ng-click="clickMe()">
<div>
transcluded data
</div>
</attribute >
并在您的模板中:
<span ng-transclude>
</span>
希望这是有道理的:)
关于javascript - 在哪里以及如何修改嵌入的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25848611/