发表于: 2017-05-18 22:23:12
1 1016
今天完成的事情:
1.对于angular中模块的定义,其实可以在app.js里面先定义好一个主模块,比如mainApp,然后在其他控制器文件里面取出这个主模块就行。除了这个还有另外一种模块的写法,定义一个主模块,然后再引入其他的子模块,主模块只负责主页面的路由管理,子页面的路由由子页面的模块自己处理,比如这样:
$stateProvider
.state('login', {
//默认显示登录页面
url: '/login',
templateUrl: 'login.html',
resolve: {
loadMyFile: _lazyLoad(
//懒加载登录的js和css文件
['js/login.js', 'css/login.css']
)
}
})
.state('pageTab', {
//登录成功后可跳转到pageTab页面
url: '/pageTab',
templateUrl: 'pageTab.html',
resolve: {
loadMyFile: _lazyLoad(
//懒加载pageTab.css
['js/sidenav.js', 'css/sidenav.css']
)
}
})
.state('pageTab.list', {
//配置列表页路由
url: '/list/:page/:industry/:financing',
templateUrl: 'list.html',
resolve: {
loadMyFile: _lazyLoad(
//懒加载pageTab.css
['js/list.js', 'css/list.css']
)
}
})
.state('pageTab.upload', {
//配置图片上传页面
url: '/upload',
templateUrl: 'upload.html',
resolve: {
loadMyFile: _lazyLoad(
//懒加载pageTab.css
['js/upload.js', 'css/upload.css']
)
}
})
.state('pageTab.form', {
//配置表单页路由
url: '/form',
templateUrl: 'form.html',
resolve: {
loadMyFile: _lazyLoad(
//懒加载pageTab.css
['js/form.js', 'css/form.css']
)
}
})
然后我的写法是只有一个主模块,负责配置所有页面的路由管理和懒加载管理,然后再分别写好子页面的控制器,子页面由自己的控制器处理,主要区别在于路由的管理,是统一管理还是放到子模块中,由子模块自己管理。
2.关于动画加载,稍微研究了一下。大概原理是首先添加一个大小为整个屏幕固定定位的div,div中放一个动画效果组件。然后背景色可以设置为纯白或者半透明,这样页面加载的时候看到的都是这个动画。接着在数据接收事件里面注册一个回调函数,当页面数据加载完后移除掉这个固定定位的div。
3.整理一下ng-change
ng-change 指令用于告诉 AngularJS 在 HTML 元素值改变时需要执行的操作。
ng-change 指令需要搭配 ng-model
指令使用。
AngularJS ng-change 指令指令不会覆盖原生的 onchange 事件, 如果触发该事件,ng-change 表达式与原生的 onchange 事件都会执行。
ng-change 事件在值的每次改变时触发,它不需要等待一个完成的修改过程,或等待失去焦点的动作。
ng-change 事件只针对输入框值的真实修改,而不是通过 JavaScript 来修改。
<element ng-change="expression"></element>
4.日历插件、导航栏插件、富文本插件、上传插件,插件大法好哇哈哈哈哈哈!
5.关于懒加载
/**
* oclazyload - Load modules on demand (lazy load) with angularJS
* @version v1.0.4
* @link https://github.com/ocombe/ocLazyLoad
* @license MIT
* @author Olivier Combe <olivier.combe@gmail.com>
*/
有需要可以去这个地址自取
明天要做的事情:
继续撸代码
遇到的问题:
花时间找插件真麻烦,尤其是找一个优质的插件
收获:
正确的百度姿势,如何剔除那些老旧的陈词滥调
评论