Angular JS (Angular.JS) 是一組用來開發Web頁面的框架、模板以及數據綁定和豐富UI組件。它支持整個開發進程,提供web應用的架構,無需進行手工DOM操作。
AngularJs 就是一個函數庫,算不上一個框架,源碼2萬2千多行,提供了前端MVC的開發方式,有雙向綁定,指令等特性,這是具有革命性的。我是多么反感jQuery 用選擇器 選擇元素 ,綁定事件,進行一大堆DOM操作,一旦代碼過多,非常不好維護,html結構改變,又要重寫js代碼,不過 jQuery 對 ajax的封裝 是其他框架 匹敵不了的,接近于標準。
Bootstrap 是一個 css 庫,對于搞后端出生的娃,比較友好。
AngularStrap 是一個 在AngularJs 中 使用的 Bootstrap 組件庫,比較友好。
對于任意的Javascript 函數庫 與 框架,只要Javascript 基礎扎實,研究一下,都可以 信手拈來,今天來使用 AngularJs
來實現 省市區聯動,來體驗一下 AngularJs 雙向綁定 不是蓋的。
來看看我們的項目結構:
bower_components 下的庫、框架 , 是使用bower 安裝的 。bower install 庫 --save
lib 下面的是我們自己寫的js。
先看我們的 頁面:index.html
<!DOCTYPE html> <html lang="zh-CN" ng-app="App"> <head> <meta charset="UTF-8"> <title>前端研究</title> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"/> </head> <body> <div class="container" ng-controller="IndexCtrl"> <h1 class="text-center text-danger">Angular 地址聯動示例</h1> <div class="form-horizontal"> <div class="form-group"> <label class="col-md-2 control-label"> 地址 </label> <div class="col-md-10"> <select required="" class="form-control" ng-model="address.province" ng-options="key as key for (key,value) in division" ng-change="address.city='';address.district='';"> <option value="">省</option> </select> <select class="form-control" ng-model="address.city" ng-options="key as key for (key,value) in division[address.province]" ng-change="address.district='';"> <option value="">市</option> </select> <select class="form-control" ng-model="address.district" ng-options="value as value for value in division[address.province][address.city]"> <option value="">區</option> </select> </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <button type="submit" class="btn btn-primary btn-sm" ng-click="submit()"> 提交 </button> </div> </div> </div> </div> <script src="bower_components/jquery/dist/jquery.js"></script> <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> <script src="bower_components/angular/angular.js"></script> <script src="bower_components/angular-strap/dist/angular-strap.min.js"></script> <script src="bower_components/angular-strap/dist/angular-strap.tpl.min.js"></script> <script src="lib/app.js"></script> <script src="lib/controllers.js"></script> <script src="lib/services.js"></script> <script src="lib/directives.js"></script> <script src="lib/filters.js"></script> </body> </html>
程序 主模塊 : app.js
/** *@class index *@description App主模塊,所有的模塊被主模塊引用 *@time 2014-09-20 10:53 *@author StarZou **/ var App = angular.module('App', ['mgcrea.ngStrap', 'App.controllers', 'App.services', 'App.directives', 'App.filters']); console.log(App);
控制器模塊 :controllers.js
/** *@class controllers *@description 控制器模塊,所以的控制器注冊在此模塊下 *@time 2014-09-20 10:56 *@author StarZou **/ var AppControllers = angular.module('App.controllers', ['mgcrea.ngStrap']); AppControllers.controller('IndexCtrl', ['$scope', '$modal', function ($scope, $modal) { $scope.division = {"北京市": {"北京市": ["東城區", "西城區", "崇文區", "宣武區", "朝陽區", "豐臺區", "石景山區", "海淀區", "門頭溝區", "房山區", "通州區", "順義區", "昌平區", "大興區", "懷柔區", "平谷區", "密云縣", "延慶縣"]}, "上海市": {"上海市": ["黃浦區", "盧灣區", "徐匯區", "長寧區", "靜安區", "普陀區", "閘北區", "虹口區", "楊浦區", "閔行區", "寶山區", "嘉定區", "浦東新區", "金山區", "松江區", "青浦區", "南匯區", "奉賢區", "崇明縣"]}, "天津市": {"天津市": ["和平區", "河東區", "河西區", "南開區", "河北區", "紅橋區", "塘沽區", "漢沽區", "大港區", "東麗區", "西青區", "津南區", "北辰區", "武清區", "寶坻區", "寧河縣", "靜海縣", "薊縣"]}, "重慶市": {"重慶市": ["萬州區", "涪陵區", "渝中區", "大渡口區", "江北區", "沙坪壩區", "九龍坡區", "南岸區", "北碚區", "萬盛區", "雙橋區", "渝北區", "巴南區", "黔江區", "長壽區", "綦江縣", "潼南縣", "銅梁縣", "大足縣", "榮昌縣", "璧山縣", "梁平縣", "城口縣", "豐都縣", "墊江縣", "武隆縣", "忠縣", "開縣", "云陽縣", "奉節縣", "巫山縣", "巫溪縣", "石柱土家族自治縣", "秀山土家族苗族自治縣", "酉陽土家族苗族自治縣", "彭水苗族土家族自治縣", "江津市", "合川市", "永川市", "南川市"]}, "四川省": {"成都市": ["錦江區", "青羊區", "金牛區", "武侯區", "成華區", "龍泉驛區", "青白江區", "新都區", "溫江縣", "金堂縣", "雙流縣", "郫縣", "大邑縣", "蒲江縣", "新津縣", "都江堰市", "彭州市", "邛崍市", "崇州市"], "自貢市": ["自流井區", "貢井區", "大安區", "沿灘區", "榮縣", "富順縣"], "攀枝花市": ["東區", "西區", "仁和區", "米易縣", "鹽邊縣"], "瀘州市": ["江陽區", "納溪區", "龍馬潭區", "瀘縣", "合江縣", "敘永縣", "古藺縣"], "德陽市": ["旌陽區", "中江縣", "羅江縣", "廣漢市", "什邡市", "綿竹市"], "綿陽市": ["涪城區", "游仙區", "三臺縣", "鹽亭縣", "安縣", "梓潼縣", "北川羌族自治縣", "平武縣", "江油市"], "廣元市": ["市中區", "元壩區", "朝天區", "旺蒼縣", "青川縣", "劍閣縣", "蒼溪縣"], "遂寧市": ["船山區", "安居區", "蓬溪縣", "射洪縣", "大英縣"], "內江市": ["市中區", "東興區", "威遠縣", "資中縣", "隆昌縣"], "樂山市": ["市中區", "沙灣區", "五通橋區", "金口河區", "犍為縣", "井研縣", "夾江縣", "沐川縣", "峨邊彝族自治縣", "馬邊彝族自治縣", "峨眉山市"], "南充市": ["順慶區", "高坪區", "嘉陵區", "南部縣", "營山縣", "蓬安縣", "儀隴縣", "西充縣", "閬中市"], "眉山市": ["東坡區", "仁壽縣", "彭山縣", "洪雅縣", "丹棱縣", "青神縣"], "宜賓市": ["翠屏區", "宜賓縣", "南溪縣", "江安縣", "長寧縣", "高縣", "珙縣", "筠連縣", "興文縣", "屏山縣"], "廣安市": ["廣安區", "岳池縣", "武勝縣", "鄰水縣", "華瑩市"], "達州市": ["通川區", "達縣", "宣漢縣", "開江縣", "大竹縣", "渠縣", "萬源市"], "雅安市": ["雨城區", "名山縣", "滎經縣", "漢源縣", "石棉縣", "天全縣", "蘆山縣", "寶興縣"], "巴中市": ["巴州區", "通江縣", "南江縣", "平昌縣"], "資陽市": ["雁江區", "安岳縣", "樂至縣", "簡陽市"], "阿壩藏族羌族自治州": ["汶川縣", "理縣", "茂縣", "松潘縣", "九寨溝縣", "金川縣", "小金縣", "黑水縣", "馬爾康縣", "壤塘縣", "阿壩縣", "若爾蓋縣", "紅原縣"], "甘孜藏族自治州": ["康定縣", "瀘定縣", "丹巴縣", "九龍縣", "雅江縣", "道孚縣", "爐霍縣", "甘孜縣", "新龍縣", "德格縣", "白玉縣", "石渠縣", "色達縣", "理塘縣", "巴塘縣", "鄉城縣", "稻城縣", "得榮縣"], "涼山彝族自治州": ["西昌市", "木里藏族自治縣", "鹽源縣", "德昌縣", "會理縣", "會東縣", "寧南縣", "普格縣", "布拖縣", "金陽縣", "昭覺縣", "喜德縣", "冕寧縣", "越西縣", "甘洛縣", "美姑縣", "雷波縣"]}, "貴州省": {"貴陽市": ["南明區", "云巖區", "花溪區", "烏當區", "白云區", "小河區", "開陽縣", "息烽縣", "修文縣", "清鎮市"], "六盤水市": ["鐘山區", "六枝特區", "水城縣", "盤縣"], "遵義市": ["紅花崗區", "匯川區", "遵義縣", "桐梓縣", "綏陽縣", "正安縣", "道真仡佬族苗族自治縣", "務川仡佬族苗族自治縣", "鳳岡縣", "湄潭縣", "余慶縣", "習水縣", "赤水市", "仁懷市"], "安順市": ["西秀區", "平壩縣", "普定縣", "鎮寧布依族苗族自治縣", "關嶺布依族苗族自治縣", "紫云苗族布依族自治縣"], "銅仁地區": ["銅仁市", "江口縣", "玉屏侗族自治縣", "石阡縣", "思南縣", "印江土家族苗族自治縣", "德江縣", "沿河土家族自治縣", "松桃苗族自治縣", "萬山特區"], "黔西南布依族苗族自治州": ["興義市", "興仁縣", "普安縣", "晴隆縣", "貞豐縣", "望謨縣", "冊亨縣", "安龍縣"], "畢節地區": ["畢節市", "大方縣", "黔西縣", "金沙縣", "織金縣", "納雍縣", "威寧彝族回族苗族自治縣", "赫章縣"], "黔東南苗族侗族自治州": ["凱里市", "黃平縣", "施秉縣", "三穗縣", "鎮遠縣", "岑鞏縣", "天柱縣", "錦屏縣", "劍河縣", "臺江縣", "黎平縣", "榕江縣", "從江縣", "雷山縣", "麻江縣", "丹寨縣"], "黔南布依族苗族自治州": ["都勻市", "福泉市", "荔波縣", "貴定縣", "甕安縣", "獨山縣", "平塘縣", "羅甸縣", "長順縣", "龍里縣", "惠水縣", "三都水族自治縣"]}, "云南省": {"昆明市": ["五華區", "盤龍區", "官渡區", "西山區", "東川區", "呈貢縣", "晉寧縣", "富民縣", "宜良縣", "石林彝族自治縣", "嵩明縣", "祿勸彝族苗族自治縣", "尋甸回族彝族自治縣", "安寧市"], "曲靖市": ["麒麟區", "馬龍縣", "陸良縣", "師宗縣", "羅平縣", "富源縣", "會澤縣", "沾益縣", "宣威市"], "玉溪市": ["紅塔區", "江川縣", "澄江縣", "通海縣", "華寧縣", "易門縣", "峨山彝族自治縣", "新平彝族傣族自治縣", "元江哈尼族彝族傣族自治縣"], "保山市": ["隆陽區", "施甸縣", "騰沖縣", "龍陵縣", "昌寧縣"], "昭通市": ["昭陽區", "魯甸縣", "巧家縣", "鹽津縣", "大關縣", "永善縣", "綏江縣", "鎮雄縣", "彝良縣", "威信縣", "水富縣"], "麗江市": ["古城區", "玉龍納西族自治縣", "永勝縣", "華坪縣", "寧蒗彝族自治縣"], "思茅市": ["翠云區", "普洱哈尼族彝族自治縣", "墨江哈尼族自治縣", "景東彝族自治縣", "景谷傣族彝族自治縣", "鎮沅彝族哈尼族拉祜族自治縣", "江城哈尼族彝族自治縣", "孟連傣族拉祜族佤族自治縣", "瀾滄拉祜族自治縣", "西盟佤族自治縣"], "臨滄市": ["臨翔區", "鳳慶縣", "云縣", "永德縣", "鎮康縣", "雙江拉祜族佤族布朗族傣族自治縣", "耿馬傣族佤族自治縣", "滄源佤族自治縣"], "楚雄彝族自治州": ["楚雄市", "雙柏縣", "牟定縣", "南華縣", "姚安縣", "大姚縣", "永仁縣", "元謀縣", "武定縣", "祿豐縣"], "紅河哈尼族彝族自治州": ["個舊市", "開遠市", "蒙自縣", "屏邊苗族自治縣", "建水縣", "石屏縣", "彌勒縣", "瀘西縣", "元陽縣", "紅河縣", "金平苗族瑤族傣族自治縣", "綠春縣", "河口瑤族自治縣"], "文山壯族苗族自治州": ["文山縣", "硯山縣", "西疇縣", "麻栗坡縣", "馬關縣", "丘北縣", "廣南縣", "富寧縣"], "西雙版納傣族自治州": ["景洪市", "勐海縣", "勐臘縣"], "大理白族自治州": ["大理市", "漾濞彝族自治縣", "祥云縣", "賓川縣", "彌渡縣", "南澗彝族自治縣", "巍山彝族回族自治縣", "永平縣", "云龍縣", "洱源縣", "劍川縣", "鶴慶縣"], "德宏傣族景頗族自治州": ["瑞麗市", "潞西市", "梁河縣", "盈江縣", "隴川縣"], "怒江傈僳族自治州": ["瀘水縣", "福貢縣", "貢山獨龍族怒族自治縣", "蘭坪白族普米族自治縣"], "迪慶藏族自治州": ["香格里拉縣", "德欽縣", "維西傈僳族自治縣"]}, "西藏省": {"拉薩市": ["城關區", "林周縣", "當雄縣", "尼木縣", "曲水縣", "堆龍德慶縣", "達孜縣", "墨竹工卡縣"], "昌都地區": ["昌都縣", "江達縣", "貢覺縣", "類烏齊縣", "丁青縣", "察雅縣", "八宿縣", "左貢縣", "芒康縣", "洛隆縣", "邊壩縣"], "山南地區": ["乃東縣", "扎囊縣", "貢嘎縣", "桑日縣", "瓊結縣", "曲松縣", "措美縣", "洛扎縣", "加查縣", "隆子縣", "錯那縣", "浪卡子縣"], "日喀則地區": ["日喀則市", "南木林縣", "江孜縣", "定日縣", "薩迦縣", "拉孜縣", "昂仁縣", "謝通門縣", "白朗縣", "仁布縣", "康馬縣", "定結縣", "仲巴縣", "亞東縣", "吉隆縣", "聶拉木縣", "薩嘎縣", "崗巴縣"], "那曲地區": ["那曲縣", "嘉黎縣", "比如縣", "聶榮縣", "安多縣", "申扎縣", "索縣", "班戈縣", "巴青縣", "尼瑪縣"], "阿里地區": ["普蘭縣", "札達縣", "噶爾縣", "日土縣", "革吉縣", "改則縣", "措勤縣"], "林芝地區": ["林芝縣", "工布江達縣", "米林縣", "墨脫縣", "波密縣", "察隅縣", "朗縣"]}, "河南省": {"鄭州市": ["中原區", "二七區", "管城回族區", "金水區", "上街區", "邙山區", "中牟縣", "鞏義市", "滎陽市", "新密市", "新鄭市", "登封市"], "開封市": ["龍亭區", "順河回族區", "鼓樓區", "南關區", "郊區", "杞縣", "通許縣", "尉氏縣", "開封縣", "蘭考縣"], "洛陽市": ["老城區", "西工區", "廛河回族區", "澗西區", "吉利區", "洛龍區", "孟津縣", "新安縣", "欒川縣", "嵩縣", "汝陽縣", "宜陽縣", "洛寧縣", "伊川縣", "偃師市"], "平頂山市": ["新華區", "衛東區", "石龍區", "湛河區", "寶豐縣", "葉縣", "魯山縣", "郟縣", "舞鋼市", "汝州市"], "安陽市": ["文峰區", "北關區", "殷都區", "龍安區", "安陽縣", "湯陰縣", "滑縣", "內黃縣", "林州市"], "鶴壁市": ["鶴山區", "山城區", "淇濱區", "浚縣", "淇縣"], "新鄉市": ["紅旗區", "衛濱區", "鳳泉區", "牧野區", "新鄉縣", "獲嘉縣", "原陽縣", "延津縣", "封丘縣", "長垣縣", "衛輝市", "輝縣市"], "焦作市": ["解放區", "中站區", "馬村區", "山陽區", "修武縣", "博愛縣", "武陟縣", "溫縣", "濟源市", "沁陽市", "孟州市"], "濮陽市": ["華龍區", "清豐縣", "南樂縣", "范縣", "臺前縣", "濮陽縣"], "許昌市": ["魏都區", "許昌縣", "鄢陵縣", "襄城縣", "禹州市", "長葛市"], "漯河市": ["源匯區", "郾城區", "召陵區", "舞陽縣", "臨潁縣"], "三門峽市": ["湖濱區", "澠池縣", "陜縣", "盧氏縣", "義馬市", "靈寶市"], "南陽市": ["宛城區", "臥龍區", "南召縣", "方城縣", "西峽縣", "鎮平縣", "內鄉縣", "淅川縣", "社旗縣", "唐河縣", "新野縣", "桐柏縣", "鄧州市"], "商丘市": ["梁園區", "睢陽區", "民權縣", "睢縣", "寧陵縣", "柘城縣", "虞城縣", "夏邑縣", "永城市"], "信陽市": ["師河區", "平橋區", "羅山縣", "光山縣", "新縣", "商城縣", "固始縣", "潢川縣", "淮濱縣", "息縣"], "周口市": ["川匯區", "扶溝縣", "西華縣", "商水縣", "沈丘縣", "鄲城縣", "淮陽縣", "太康縣", "鹿邑縣", "項城市"], "駐馬店市": ["驛城區", "西平縣", "上蔡縣", "平輿縣", "正陽縣", "確山縣", "泌陽縣", "汝南縣", "遂平縣", "新蔡縣"]}, "湖北省": {"武漢市": ["江岸區", "江漢區", "喬口區", "漢陽區", "武昌區", "青山區", "洪山區", "東西湖區", "漢南區", "蔡甸區", "江夏區", "黃陂區", "新洲區"], "黃石市": ["黃石港區", "西塞山區", "下陸區", "鐵山區", "陽新縣", "大冶市"], "十堰市": ["茅箭區", "張灣區", "鄖縣", "鄖西縣", "竹山縣", "竹溪縣", "房縣", "丹江口市"], "宜昌市": ["西陵區", "伍家崗區", "點軍區", " 主站蜘蛛池模板: 蒙城县| 富民县| 台江县| 巴林左旗| 京山县| 竹山县| 裕民县| 枣庄市| 富宁县| 军事| 海淀区| 潮安县| 平武县| 黄平县| 会宁县| 苏州市| 益阳市| 策勒县| 孟村| 湘西| 神农架林区| 平阳县| 黑山县| 锡林郭勒盟| 沙田区| 钦州市| 南汇区| 山阳县| 高安市| 米易县| 贡山| 临夏县| 和平区| 康保县| 呼玛县| 兴和县| 巩留县| 黎城县| 扬中市| 庆元县| 鄱阳县|