Angular组件库
文档说明
技术中心前端组-组件系统是采用 AngularJS+Gulp 搭建的项目,该文档主要针对AngularJS如何实现我们的业务代码进行讲解,加深对项目构建的认识,当项目出错时也方便快速定位错误的地方。
Git仓库
目录树
|
|
静态页面index.html
|
|
入口文件 app.js
实现与
ng-app关联起来的模块BlurAdmin,BlurAdmin是一个模块,当启动AngularJS时,就会去匹配这种对应关系,发现一致时则开始执行里面的内容。一个模块可以将其他模块引进来,就如以下[]中包含好几个字符串,这些字符串就是一个个module 。
src / app / app.js :
|
|
子模块
我们以其中一个例子为例,比如
daterangepicker模块,路径为‘src / app / pages /data’下,这个例子实现日期组件,即系统左侧菜单的“日期组件”。
步骤
- 新建module
BlurAdmin.pages.date(ps:这个module需要注入到BlurAdmin,后面我们将会提到)。 - 我们会有一级菜单和二级菜单,以下
BlurAdmin.pages.date为一级菜单,[]中引进来的module为二级菜单。
src / app / pages / data / date.js :
|
|
- 这时我们已经实现了一级菜单,template中显示的内容为我们引进来的
'BlurAdmin.pages.date.daterangepicker'即为二级菜单,接下来我们开始实现这个二级菜单。 - 二级菜单路径为 路径为
‘src / app / pages / data / daterangepicker’ - 以下就是我们刚在
date.js中引入的module,以下几点解释均以daterangepicker.module.js为例$stateProvider.state('date.daterangepicker', {})这种写法是因为我们在项目中引入了Angular-ui-router当我们在<a>中加入ui-sref属性,如<a ui-sref='date.daterangepicker'></a>就会引入{}中的的属性。- 属性
url: 当执行<a ui-sref='date.daterangepicker'></a>时,对应页面的URL为/daterangepicker,这就是单页面应用的精髓,它并不会刷新整个页面,只会更新这个module里的内容,其他外层的module不会更新。 - 属性
templateUrl: 当进入该URL也会有页面上的变化,而这变化的页面路径就指向templateUrl里的页面。 - 属性
controller: 该控制器是实现以上templateUrl页面的数据绑定。
src / app / pages / data / daterangepicker / daterangepicker.module.js :
|
|
子模板引入
我上一标题中我们讲解了module
BlurAdmin.pages.date的实现,这时候我们需要将它引入到我们的入口文件里面。
src / app / pages / pages.module.js :
|
|
- 我们再看看一开始我们讲解的
app.js
src / app / app.js :
|
|
结束 ^_^