我有一个表单,其中包含一堆关于使用 ng-if 显示哪些元素的逻辑。例如,我可能有一个国家/地区下拉菜单,如果选择了美国,它将显示州下拉菜单,该下拉菜单以国家/地区的 ng-if 为条件。也许这不是最好的方法,所以如果有关于下一个项目的不同方法的建议,我将不胜感激,但我需要在完成这个项目时进行一些重大修改。
问题是如果用户选择一个国家,比如美国,然后选择一个州,然后选择另一个国家。状态仍然在模型中被选中。那么我将如何删除状态字段。有深层嵌套的 ng-if(想想 4-5 级)。
例子
<div ng-if="root.originCountry == 'PAK'">
<div ng-if="root.productType == 'Custom Football Jersey' || root.productType == 'Sublimated Football Jersey'">
<div class="control-group">
<label class="control-label" for="productTypeType">{{root.productType}} Type</label>
<div class="controls">
<select ng-model="root.productTypeType" ng-options="type for type in pakJerseyTypeList" bs-select required></select>
</div>
</div>
<div class="ordered-container">
<div ng-if="root.productTypeType">
<div class="control-group">
<label class="control-label" for="bodyColor">Body Color</label>
<div class="controls">
<select ng-model="root.bodyColor" ng-options="color for color in bodyColorList" bs-select required></select>
</div>
</div>
<div ng-if="root.bodyColor == 'Other'">
<div class="control-group no-count">
<label class="control-label" for="bodyColorPmsCode">Body Color PMS Code</label class="control-label no-count">
<div class="controls">
<input type="text" ng-model="root.bodyColorPmsCode" name='bodyColorPmsCode' required>
</div>
</div>
</div>
</div>
</div>
</div>
</div>