javascript - 在哪里以及如何修改嵌入的内容?

标签 javascript angularjs transclusion

我想构建一个指令(我们称之为“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/

相关文章:

javascript - Angular : Wrapping an element into a custom template with an angular attribute directive

angularjs - Angular 包裹分别包含元素?

binding - Angular 指令隔离范围上的可选双向绑定(bind)

javascript - 如何向 rel ="value"添加多个标签/字符串

javascript - 使用 ng-show 禁用标签,但不禁用 AngularJS 中的内容

javascript - Node 服务器随机达到 100% 然后崩溃。如何诊断?

javascript - 函数 Javascript 中的预期问题

AngularJS 按表头对行进行排序

javascript - Ember.js:这些 .pushObject() 调用是同义的吗?

javascript - 代码运行成功但在浏览器中未显示输出