在Angular JS模板中,在保持子项完整的同时在父元素之间切换

时间:2016-01-11 20:10:09

标签: javascript angularjs

这感觉就像模板引擎中的一个相当基本的功能,但我似乎在某种程度上错过了它。

假设这样的模板:

<a ng-if="icon.link" href="icon.link">
    <i ng-class="['fa',icon.icon_class]"></i>
</a>
<span ng-if="!icon.link">
    <i ng-class="['fa',icon.icon_class]"></i>
</span>

这将实现我想要的,但缺点是每当我想要有条件地使用不同的父元素时,它需要复制所有子元素。

有没有办法做类似的事情:

<span ng-if-include-children="!icon.link">
<a ng-if-include-children="icon.link" href="icon.link">
    <i ng-class="['fa',icon.icon_class]"></i>
</a>
</span>

基本上我只想弄清楚更换容器元素的最佳方法,而不是复制其所有内容。

1 个答案:

答案 0 :(得分:1)

ng-if&amp; ng-show/hide指令发生在节点级别,这意味着如果您没有显示父节点,则可以预期子节点也不会显示。

回答你的问题

  

有没有办法做类似的事情:

,如果您制作自定义指令,但是......

有更好的方法

话虽如此,这更像是一个整容问题,而不是一个实际的功能问题 - 请参阅我在这里提出类似问题的答案https://stackoverflow.com/a/34595198/1121919