Angular指令在隔离范围内使用自己的文本内容

时间:2016-02-22 16:56:35

标签: javascript html angularjs

我制作了一个自定义角度指令,当您将鼠标悬停在某个字词或缩略图上时会显示图像。该指令匹配具有属性>>> [i for i in zip(narrative, subject, activity, filer)] 的元素。例如:

showImage

似乎最简单的方法是在指令的<span showImage="mountain">mountain</span>属性中注册mouseover和mouseout上的事件监听器,但这些监听器在没有触发摘要周期的情况下进行注册。所以,是的,我可以添加link,但这似乎不够优雅,而且可能是更好的方式。

然后我找到了带有transclude选项的模板,看起来它们可能更接近我想要的。但在这里,我发现了两个问题。首先,我不想将我的文本/缩略图包装在另一个元素中,我只想添加一些事件监听器。我的另一个问题更复杂:我希望将scope.$apply()的vaule设为可选,如:

showImage

这应该与第一个例子具有相同的效果。如果属性没有值,我希望它默认为HTML元素内的文本值。使用指令,我可以使用元素的属性设置隔离范围,但似乎没有一种方法可以将任何内容设置为内部文本的值。像这样:

<span showImage>mountain</span>

有没有更好的方法来实现我想要做的事情?

0 个答案:

没有答案