这感觉像是模板引擎中相当基本的功能,但我似乎不知何故错过了它。
假设一个这样的模板:
<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>
本质上,我只是想找出交换容器元素而不复制其所有内容的最佳方法。
最佳答案
ng-if
和 ng-show/hide
指令发生在节点级别,这意味着如果您不显示父节点,则可以期待子节点也不显示。
回答您的问题
Is there any way to do something like:
是的,但是如果您创建自定义指令...
有更好的方法
话虽这么说,这更多的是一个外观问题,而不是一个实际的功能问题 - 请参阅我对类似问题的回答 https://stackoverflow.com/a/34595198/1121919
关于javascript - 在 Angular JS 模板中,在父元素之间交替,同时保持子元素完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34730182/