我對Angular很陌生,所以我很抱歉,如果這很簡單。Angular指令國家/地區
我有一個工作應用程序,有多個地方,用戶必須首先從國家列表中選擇一個國家,然後從選擇區域中選擇一個國家。我已經有每個國家的國家名單和地區名單。如果系統沒有選定國家的區域,則區域選擇器將變爲純文本框。
它運行良好,但我有8個不同的地方,我需要這個功能。例如,該應用程序要求出生地和死亡地點。
看起來我應該把這個功能放到一個指令中,但是我發現的所有例子都是從模型中傳入一個單獨的字段(即ng-model ='country')或整個範圍對象。我需要爲模型的每個實例傳遞模型的特定國家和地區字段。
我該怎麼做?
這是我現在擁有的一個例子。我怎樣才能把它變成一個單一的「國家/地區選擇器」指令,以便我可以重複使用它,而不是基本上覆制並粘貼到所有地方。
<div class="form-group">
<label for="birth_country" class="col-sm-3 control-label">Birth Country</label>
<div class="col-sm-9">
<select id="birth_country" ng-model="person.birth_country" ng-options="country.text as country.text for country in country_options" class="form-control" ng-change="getBirthRegions(person.birth_country)" ></select>
</div>
</div>
<div class="form-group">
<label for="birth_region" class="col-sm-3 control-label">Birth State/Region</label>
<div class="col-sm-9">
<input id="birth_region" type="text" ng-model="person.birth_region" class="form-control" placeholder="Enter the birth state/region" ng-hide="birth_region_options.length > 0" />
<select id="birth_region" ng-model="person.birth_region" ng-options="region.text as region.text for region in birth_region_options" class="form-control" ng-show="birth_region_options.length > 0"></select>
</div>
</div>
<div class="form-group">
<label for="death_country" class="col-sm-3 control-label">Death Country</label>
<div class="col-sm-9">
<select id="death_country" ng-model="person.death_country" ng-options="country.text as country.text for country in country_options" class="form-control" ng-change="getDeathRegions(person.death_country)" ></select>
</div>
</div>
<div class="form-group">
<label for="death_region" class="col-sm-3 control-label">Death State/Region</label>
<div class="col-sm-9">
<input id="death_region" type="text" ng-model="person.death_region" class="form-control" placeholder="Enter the death state/region" ng-hide="death_region_options.length > 0" />
<select id="death_region" ng-model="person.death_region" ng-options="region.text as region.text for region in death_region_options" class="form-control" ng-show="death_region_options.length > 0"></select>
</div>
</div>