Angular 条件容器元素

eir*_*kir 5 html angularjs angularjs-directive

我有一大块 HTML,ng-repeat其中某些元素有一个容器元素,而其他元素则没有。我目前正在通过两个ng-ifs实现这一目标:

<strike ng-if="elem.flag">
  … <!-- several lines of directives handling other branching cases -->
</strike>
<div ng-if="!elem.flag">
  … <!-- those same several lines copied-and-pasted -->
</div>
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但这意味着我必须记住复制和粘贴任何编辑,这不仅不优雅而且容易出错。理想情况下,我可以使用以下内容(受ng-class语法启发)来解决这个问题:

<ng-element="{'strike':flag, 'div':(!flag)}">
  … <!-- lots of code just once! -->
</ng-element>
Run Code Online (Sandbox Code Playgroud)

有没有办法为这种情况实现类似的非重复解决方案?

Qwe*_*tiy 1

  1. 您可以自己制定这样的指令。
  2. 您可以使用ng-include将相同的内容包含到两个元素中。