在Angular JS Templates中,在父元素之间交替,同时保持子元素不变



这感觉像是模板引擎中的一个相当基本的功能,但我似乎不知何故错过了它。

假设一个模板如下:

<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指令发生在节点级别,这意味着如果不显示父节点,则可能会期望子节点也不显示。

回答你的问题

有什么方法可以做这样的事情吗:

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

有更好的方法

话虽如此,这更多的是一个外观问题,而不是一个实际的功能问题——请参阅我对类似问题的回答https://stackoverflow.com/a/34595198/1121919

最新更新