Plunkr:http ://plnkr.co/edit/pJRzKn2v1s865w5WZBkR?p=preview
- 我有两种形式,一种是简单形式,一种是高级形式。
- 两者都有相同的选择(很多选择)
- 开始选择标签中只有几个不同,其中包含
<select ng-show="showSimpleSelect"
ng-model="selected_tag"
ng-change="changeFormTag(formData)"
class="form-control manage-source-input-tag">
<!-- if advanced then -->
<select ng-show="showAdvanceSelect"
ng-model="formData.tag"
ng-change="changeTag(formData.tag)"
class="form-control manage-source-input-tag">
<option value="brand">Brand</option>
<option value="client">Client</option>
<option value="companies">Companies</option>
...
</select ng-show="showSimpleSelect">
</select ng-show="showAdvanceSelect">
在我的指令控制器中,我使用这样的变量来显示和隐藏打开的选择标签:
vs.showSimpleForm = function() {
vs.showSimpleSelect = true,
vs.showAdvanceSelect = false,
然而 HTML 最终看起来像这样,这破坏了设计:
你将如何重构这个?