发表于: 2017-01-24 01:56:19
3 1353
今天完成的事情:
1.继续任务八。
2.继续angularjs基础知识的学习,主要涉及自定义指令和模块化。
3.写了一个基于自定义指令构建的下拉提示组件。
遇到的问题:
1.构建E类型指令:指令名称里面出现了大小写,结果指令不能正常执行。保险起见以后都用小写。驼峰样式的写法也不行。后来貌似想明白了。html标签对于大小写是不予以区分的。
收获:
1.关于哈希值:
1.#是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。
2.单单改变#后的部分,浏览器只会滚动到相应位置,不会重新加载网页。
3.每一次改变#后的部分,都会在浏览器的访问历史中增加一个记录,使用"后退"按钮,就可以回到上一个位置。
4.window.location.hash这个属性可读可写。读取时,可以用来判断网页状态是否改变;写入时,则会在不重载网页的前提下,创造一条访问历史记录。
关于模块化:
1.最简单的模块使用
定义模块:
var mod=angular.module(名称, [依赖模块]);
引用模块:
ng-app="名称"
2.向模块中添加东西
mod.controller(名称, function);
mod.filter(名称, function);
mod.directive(名称, function);
3.Controller继承
子Controller使用父Controller中的数据(父子关系体现在HTML中)
二:
1.Controller
适合:数据的获取、整理、过滤
不适合:任何表现层功能
2.Filter
适合:简单的文本、数据输出前处理
不适合:数据交互、任何复杂的功能
3.Directive
适合:表现层的功能组件
不适合:数据相关操作
4.Module
组件,一个组件可以包含很多Controller、Filter和Directive;而一个程序又可以包含很多组件
评论