84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
請問如何使用資料雙向綁定的思路實作?
以城市的三級級聯下拉選單為例
HTML
<p class="row"> <p class="col-md-4"> <select class="form-control" ng-model="vm.country" ng-options="country.label for country in vm.countries"> <option value="">-- 请选择国家 --</option> </select> </p> <p class="col-md-4" ng-if="vm.country.provinces"> <select class="form-control" ng-model="vm.province" ng-options="province.label for province in vm.country.provinces"> <option value="">-- 请选择省份/州 --</option> </select> </p> <p class="col-md-4" ng-if="vm.province.cities"> <select class="form-control" ng-model="vm.city" ng-options="city.label for city in vm.province.cities"> <option value="">-- 请选择城市/县区 --</option> </select> </p> </p> <p>您选择的是:{{vm.country.label}} - {{vm.province.label}} - {{vm.city.label}}</p> <p class="alert alert-info"> 这里使用ng-if指令来达到下一级有数据才显示下一级的效果 </p>
js
angular.module('ngShowcaseApp').controller('ctrl.select.cascade', function ($scope, CityData) { var vm = $scope.vm = {}; vm.countries = CityData; // 更换国家的时候清空省 $scope.$watch('vm.country', function(country) { vm.province = null; }); // 更换省的时候清空城市 $scope.$watch('vm.province', function(province) { vm.city = null; }); });
city-data.js
angular.module('ngShowcaseApp').constant('CityData', [ { label: '中国', flag: 'cn.png', provinces: [ { label: '北京', cities: [ { label: '朝阳区' }, { label: '宣武区' }, { label: '海淀区' } ] }, { label: '河北', cities: [ { label: '石家庄' }, { label: '承德' }, { label: '唐山' } ] } ] }, { label: '美国', flag: 'us.png', provinces: [ { label: '纽约', cities: [ { label: '曼哈顿区' }, { label: '皇后区' } ] }, { label: '德克萨斯州', cities: [ { label: '休斯顿' }, { label: '达拉斯' } ] }, { label: '加利福尼亚州' } ] } ]);
這貌似跟雙向綁定沒多大關係吧。 主要就是資料格式配置好那就好辦了
第一級為數組,第二級是以第一級的id為key值的對象,第三級是以第二級的id為key值的對象。
雷雷
請各位大大描述下思路就行
以城市的三級級聯下拉選單為例
HTML
js
city-data.js
這貌似跟雙向綁定沒多大關係吧。
主要就是資料格式配置好那就好辦了
第一級為數組,第二級是以第一級的id為key值的對象,第三級是以第二級的id為key值的對象。
雷雷
請各位大大描述下思路就行