发表于: 2017-04-19 23:27:35
1 717
今天完成的事情:完成了安哥拉JS的表单验证,和判断登录跳转
明天计划的事情:肝JS7
遇到的问题:表单验证问题阿,一开始不知道ng-messages这个东西,在input里写好了很多验证条件,但是不知道怎么去触发它?
看了嘉豪的代码,喔恍然大雾。
懒加载,刚开始懒加载实现不了,后来放弃了,去做安哥拉JS的表单验证,然后做完之后再去做懒加载,还是没有用。
因为我之前的路由跳转是点击登录之后跳转到index的Tab,中间过了一个index,然后我设置直接跳转到Tab页面,把Tab页面需要加载的JS写到了登录页(小九说会传过去的),然后还是没有用??然后准备放弃的时候突然有用了,不知道为什么。
刚试了一下,把要加载的JS文件登录页也引用,Tab页面也引用,就可以,删了任何一个页面的JS引用都不行。
但是直觉告诉我不是因为这个啊,0.0确实不知道为什么。
收获:主要是学到了安哥拉JS的表单验证使用,先下ng-messages的插件,然后引入进去,再写个控制器
var lo = angular.module("lo", ['ngMessages']);
lo.controller('cont1', function ($scope, $http) {
});
不要忘记在要用到控制器的地方引用他,这里我直接在body里引用的
<body onkeypress="if (event.keyCode == 13) add()" ng-controller='cont1'>
form标签给他一个name,然后要在ng-messages里用到它,
<div ng-messages="loginForm.account.$error" ng-if="loginForm.account.$touched">
<p ng-message="required">*请输入账号</p>
<p ng-message="minlength">*账号至少3位</p>
<p ng-message='pattern'>账号为英文或数字</p>
</div>
会自动判断它是对是错,但是我感觉用angul.js来写表单验证不如JQ好,自定义聚焦和失焦事件就感觉很麻烦了。
pattern属性是写在input里的正则表达式,用来规定输入的字段
ng-pattern="^[A-Za-z\d]+$"
不过虽然用了安哥拉JS ,但好像加不加ng-都行。
懒加载,先引用懒加载的JS代码
然后在控制器的函数里var一个懒加载
var _lazyLoad = function (loaded) {
return function ($ocLazyLoad) {
return $ocLazyLoad.load(loaded, {serie: true});
}
};
= =不知道什么意思。
下面就在路由跳转的页面,需要懒加载的页面里,设置要懒加载的文件,我这里要懒加载Tab的页面
resolve: {
loadMyFile: _lazyLoad(
['jquery-1.11.0.min.js', 'sidenav.min.js','$("[data-sidenav]").sidenav()']
)
这样就能实现懒加载了= =,中括号里写好文件名。
评论