ng-if 在条件不为真时显示空 DOM 元素
ng-if showing empty DOM element when condition is not true
我在视图文件中有以下内容:
<p class="presentation black">Sections:
<span data-ng-if="currentTab == 'tab1'">
<div ng-repeat="question in filtered = (template.questions | unique:'sectionName')"></div>
<p class="presentation black">{{filtered.length}}</p>
</span>
<span data-ng-if="currentTab == 'tab2'">
<div ng-repeat="sheet in filtered = (template.sections[0].sheets | unique:'name')"></div>
<p class="presentation black">{{filtered.length}}</p>
</span>
</p>
选择tab1
时,信息显示正确。但是,当在 tab2
上时,似乎正在显示两个跨度中的 <p>
元素 - 显示与 tab1
相关的 <p>
元素的空值。通过查看 DOM 树,在 tab2
上似乎也没有显示 ng-if
条件:<!-- end ngIf: currentTab == 'tab2' -->
。任何人都可以看到问题出在哪里吗?让我知道是否需要更多代码。
根据 HTML5 规范,"p" 不应在 "span" 中。将 "span" 更改为 "div".
HTML
<p class="presentation black">Sections:
<div data-ng-if="currentTab == 'tab1'">
<div ng-repeat="question in filtered = (template.questions | unique:'sectionName')"></div>
<p class="presentation black">{{filtered.length}}</p>
</div>
<div data-ng-if="currentTab == 'tab2'">
<div ng-repeat="sheet in filtered = (template.sections[0].sheets | unique:'name')"></div>
<p class="presentation black">{{filtered.length}}</p>
</div>
</p>
我在视图文件中有以下内容:
<p class="presentation black">Sections:
<span data-ng-if="currentTab == 'tab1'">
<div ng-repeat="question in filtered = (template.questions | unique:'sectionName')"></div>
<p class="presentation black">{{filtered.length}}</p>
</span>
<span data-ng-if="currentTab == 'tab2'">
<div ng-repeat="sheet in filtered = (template.sections[0].sheets | unique:'name')"></div>
<p class="presentation black">{{filtered.length}}</p>
</span>
</p>
选择tab1
时,信息显示正确。但是,当在 tab2
上时,似乎正在显示两个跨度中的 <p>
元素 - 显示与 tab1
相关的 <p>
元素的空值。通过查看 DOM 树,在 tab2
上似乎也没有显示 ng-if
条件:<!-- end ngIf: currentTab == 'tab2' -->
。任何人都可以看到问题出在哪里吗?让我知道是否需要更多代码。
根据 HTML5 规范,"p" 不应在 "span" 中。将 "span" 更改为 "div".
HTML
<p class="presentation black">Sections:
<div data-ng-if="currentTab == 'tab1'">
<div ng-repeat="question in filtered = (template.questions | unique:'sectionName')"></div>
<p class="presentation black">{{filtered.length}}</p>
</div>
<div data-ng-if="currentTab == 'tab2'">
<div ng-repeat="sheet in filtered = (template.sections[0].sheets | unique:'name')"></div>
<p class="presentation black">{{filtered.length}}</p>
</div>
</p>