JavaScript 造个小轮子 - 中国省市区级联选择插件 for Angular

hxtheone · 2015年05月11日 · 最后由 leomayleomay 回复于 2015年05月14日 · 4276 次阅读

https://github.com/MrHuxu/cn-city-select

demo

上周日北京下雨,所以在家看了一天的 Angular,看完手很痒啊,然后翻自己 GitHub 的时候,看到@saberma前辈为 Rails 写的省市区选择插件china_city,于是我也用 Angular 做了一个,功能也比较简单,在图上就能看的很明白了,算是一个小轮子吧。

安装

使用bower安装:

# enter your asset directory
bower install angular cn-city-select --save

使用

  1. angularcn-city-select源文件包含进来

    <!-- place this code into your page -->
    <script type="text/javascript" src="/xxx/angular.min.js"></script>
    <script type="text/javascript" src="/xxx/cn-city-select.min.js"></script>
    <script type="text/javascript" src="/xxx/yourJS.js"></script>
    
  2. 创建 module:

    <div ng-app="yourModule">
      <div city-select></div>
    </div>
    
  3. cnCitySelect注入创建的 module:

    // place this code into yourJS.js
    angular.module('yourModule', ['ngCitySelect'])
    
  4. 这个 directive 还预留了两个参数

    select-result: 这个参数传递一个 ngModel 的名字,这个 model 会实时获取选择的结果 select-class: 这个参数传递字符串,这个字符串将会填充到三个 select 元素的 class 参数位置

感想

这算是我第一次为开源社区做贡献吧,之前觉得自己代码写的不好,从来都不敢推广自己的代码,更没想过发布出去。其实现在代码写的也不是特别好,不过我觉得出来多交流才能有进步嘛,所以我也把我的 repo 放出来厚颜无耻求 star 了 :D

欢迎各位大牛对代码中写的还不够好的地方进行指正~

PS: 其实我自己已经发现一个蛋疼的地方了,就是把一坨 json 和 html 代码写进 Angular 里真是太丑陋了,但是 google 了半天也没有好的办法,难道是我搜索的姿势不对?

哥们哪里人?

#1 楼 @flowerwrong 江西人士,目前北漂 ing~

省市区的 json 可以抽出来作为 constant

#3 楼 @leomayleomay 是抽出来作为常量吗?我其实最想的是把这个 json 放到另一个文件里,然后在 js 里 load 这个文件,可是原生 js 好像做不到。。

@hxtheone 是啊,抽出来作为常量,然后 inject 到需要的 controller 就可以了啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号