我的else-if
页面中有ASP.NET MVC Razor
条件阻挡,如此
if(ConditionSet1)
{ //Some HTML elements }
else if(ConditionSet2)
{ //Some HTML elements }
else if(ConditionSet3)
{ //Some HTML elements }
else
{ //Some HTML elements }
我尝试了什么:
我尝试了这个,我认为应该可行,但它不起作用。
我使用了ng-init
并设置了名为elseClause
的模型。然后我检查它是否为值!= 1(表示不启动前一个div)。
<div ng-if="ConditionSet1" ng-init="elseClause = 1">
<div> DIV-1 </div>
</div>
<div ng-if="ConditionSet2 && elseClause != 1" ng-init="elseClause = 1">
<div> DIV-2 </div>
</div>
<div ng-if="ConditionSet3 && elseClause != 1" ng-init="elseClause = 1">
<div> DIV-3 </div>
</div>
<!-- Else Block -->
<div ng-if="elseClause != 1">
<div> DIV-4 </div>
</div>
它同时打印DIV-3
和DIV-7
。
它将值1设置为elseClause,但是当涉及到第二个块时,它不会携带该值。
为什么会这样?