发表于: 2017-06-08 00:01:04

1 1127


今天完成的事情:

解决了后台侧边栏js失效的bug

解决了ng-message报错的bug

修改了ng-message中正则匹配的错误。


明天计划的事情:

计划解决必须在不同模板中重新定义ng-app的问题。

准备小课堂。

配置服务器。


遇到的问题:

1,侧边栏失效bug解决方法:

开始我用懒加载加载backStage.js,发现此文件失效,后来通过查看f12的network页面发现懒加载实际上是把相应的文件放在了模板html文件之前加载,js先于html加载,导致js获取不到htmlDOM从而失效。之前理解有误,把懒加载理解成了“后加载”。

然后我把js文件放在了模板html文件中的最后一行,使js在html后加载,再在浏览器中ctrl+f5强制刷新页面,发现js仍然失效。后经过师兄的提醒才发现页面中使用的是缓存文件,ctrl+f5并不能清除缓存,必须得在network面板中右键清除缓存或右键刷新按钮清除缓存。ctrl+f5不能清除路由页面的缓存。


2,ng-message报错的bug:

查找了很久的原因后,也是根据师兄才找到bug:ng-messages的标签必须使用div,之前我用了p标签,但是一直报ngmessage未定义的bug,不知道为什么一定要用div标签,可能是ne-messages的语法要求如此吧。


收获:

1,ng-message的正则匹配,可以有两种写法:

ng-pattern="/^[0-9a-zA-Z\u4e00-\u9fa5_]{3,16}$/"
pattern="^[0-9a-zA-Z\u4e00-\u9fa5_]{3,16}$"

方法二是html5中表单的一个新属性。注意两种写法不同,ng-pattern有//包围,pattern没有。


2,正则表达式:

之前对正则表达式的理解有误,今天重新看了一下发现之前的匹配写错了才造成了几天前的问题。

语法:

a                        匹配字符a

ab                     匹配字符ab

a|b                    匹配字符a或b

[ab]                  匹配字符a或b

[a-d]                 匹配字符a或b或c或d

[a-d][0-3]          匹配两个字符,

[^a-d]              匹配单个字符,除a或b或c或d

[a-d]{4,10}       匹配字符数量4-10,每个字符的范围a-d

ab{3}                匹配abbb

(ab){3}              匹配ababab

ab*                  重复b零次或更多次

ab+                 重复b一次或更多次

ab?                重复b零次或一次

\s                   匹配一个空格

.                      除空格外任意一个字符

*                     任意长度字符

\babc\b         匹配单词abc,abc前后需是空格。

\u4e00-\u9fa5   匹配汉字

\w                  匹配单词,包含[A-Za-z0-9_]与unicode字符,与计算机的使用环境有关,在汉字环境下等价于

                      [0-9a-zA-Z\u4e00-\u9fa5_]


一个Ip的匹配方式:

((25[0-5]|2[0-4][0-9]|([0-1]?)\d?\d)\.){3}(25[0-5]|2[0-4][0-9]|([0-1]?)\d?\d)


3,bug的调试:

出了bug,在js的关键节点打上console.log(),看有没有输出,仔细看f12各页面的信息,可以快输找出bug。


返回列表 返回列表
评论

    分享到