该指令示例中的跨度来自何处?

时间:2015-03-11 22:07:14

标签: angularjs angularjs-templates

This plunk取自Angular开发者指南,但对我来说没有意义。它应该显示transclude的基本功能,我理解,但在渲染输出中,你会看到突然出现span标签。那个是从哪里来的?它不是模板的一部分。

1 个答案:

答案 0 :(得分:1)

由于您的翻译只是一个文本(实际上是一个隐式的span),因此需要在编译HTML时添加它。

为避免这种情况,您可以手动将文本包装在任何标记周围,例如<div>,以便按原样插入。

如果确实希望中间没有任何标记,您可以在指令中编写自己的compile方法,并将文本直接设置为element,使用elem.text(content)代替elem.html(content)