第三第四周的笔记

1.比parseInt更好的字符串转换数字的写法,var num=str - 0;

 

2.window有一个Location对象,包含了与url地址有关的所有信息。

在http://www.baidu.com:8000/aaa/index.html?name=b#666这个地址中

分别是http://协议

www.baidu.com 主机地址(hostname)

8000 端口(port)

/aaa/index.html 路径(pathname)

?name=b 查询值(search)

#666 锚点(hash)

这些属性都保存在location对象中。

url地址变化的时候会触发hrefchange事件,该事件的e对象中只能获取变化前后的整体url地址。

·从一个字符串类型的url地址中提取出单独的路径或锚点部分有两个方法:1.正则表达式 2.动态创建一个a标签,将url赋值给它的href,就可以通过a元素对象的pathname/hash属性直接得到(同上)

 

3.关于设置百分比需要注意:

父元素必须定高,子元素才能对高度设置百分比。宽度没有这个限制。

例外是绝对定位以后,即使父元素不定高子元素依然可以获取到父元素的百分比高度。

padding margin之类都是以父元素的宽度作参照,height:10%其实是父元素宽度的10%而不是高度的10%

因此即使父元素高度没有声明,设置依然是有效果的。

参考:http://blog.csdn.net/javaloveiphone/article/details/51098972

对body,html设置height:100%只适用于每一层父元素都有设置百分比高度的情况,如果父元素只是根据子元素堆叠而被撑开,那么这个方法无效。

 

4.M-module V-view C-controller

Angular js 中,M是一个中间人。html元素和数据模型可以实现双向绑定,于是js代码中controller只需操控数据模型,数据模型中的数据变化会自动同步到界面,因此避开了以前的DOM操作。

 

5.Anglarjs的filter可以完成格式化和筛选的功能,用filter来进行格式化的优点是不破坏原本的数据,如将用户名y123格式化成y***,不用Angular的话就必须把真实id绑定在元素上,否则修改后就不能获取到原先的id了。比如想要让用户名为y123的元素高亮显示,就会发现定位到这个元素很困难。

但是使用Angular的话,原先的数据依然好好地保存在模型中,并且基于双向绑定的特性,可以轻松定位到。

Angular相较于DOM操作有很多便捷的地方,但它的一大缺点是对于DOM事件,它无法再获得e对象,也无法获得发生事件的元素。必须用一个标记在模型数据中定位到发生事件的元素。比如用DOM可以很轻松地实现“点谁谁消失”的效果,事件函数中只需要一句话 $(this).hide()(基于jQ)。但是ng-事件命令并不是一个事件函数,它不知道谁发生了点击。只能通过传参的方式将被点元素的id/序列号之类的标记属性告诉事件命令执行的函数,它才能进行操作。

6.使用Angular路由记得把route.js加载进去。模块化编程时可以在各个模块中配置自己的路由。模板html可以用script包装后直接放在主文件中,使用id作为templateUrl。script的type为text/ng-template

posted on 2016-12-07 11:35  natsu07  阅读(111)  评论(0编辑  收藏  举报