发表于: 2017-04-25 11:04:31
1 1144
今天完成的事情:
1.学习mvc组成和思想。
2.了解cdn的用法。
3.继续学习angular
明天计划的事情:
1.完成新建一个JS文件app.js作为angular的全局配置和初始化文件,并引入该文件
2.在app.js中通过angular.module来加载模块。
3.查看学习资料ngRoute;
遇到的困难:
关于js6的布局问题,如果用bootstrap布局的话,会不会与angularJS有冲突?
收获:
1.什么是vpn?
vpn它是一种远程访问技术,比如说你出差在北京,想访问你在上海公司的网站,这就需要向在上海的公司服务器发送请求,这就是远程访问。而vpn就是在内地架设一台vpn服务器,当外地员工架设互联网后,通过互联网访问vpn服务器,然后通过vpn服务器连接到公司内网。这样的话大大减少了访问网站的请求时间。无论是在外地办公还是在家学习,只要能联网都可以通过vpn访问内网资源。
2.什么是mvc?
mvc全名是model(模型) view(视图) controller(控制器)由model(业务模型)、view(视图)、controller(控制器)这三块组成。通常都是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里,在改进和个性化制定界面和用户交互的同时,不需要重新编写业务逻辑。
因为angular是一种mvc语言,所以也具有mvc的特性。
model(在angular中是module,它的作用是用于储存数据的),view(一般情况下都是用来展现数据的),controller(用于初始化模型);
angularJS的一个很重要的属性就是实现模块化编程,可以通过以下方式建立一个模块,对页面进行功能业务上的划分:
//创建一个名字叫做MyApp的模块,第二个参数指的是该模块依赖哪些模块
var myApp=angular.module("MyApp",[]);
也可以将重复使用的指令或过滤器之类的做成模块便于复用。
第二个参数必须使用,否则会变成找到已经定义的模块。
控制器(controller)
调度逻辑的集合
var a = angular.module('MyApp',[]);
a.controller('HelloController',['$scope',function($scope){/*创建一个名字叫做HelloController的控制器,函数的作用是当控制器执行时,会自动执行这个函数*/
$scope.p = {
name:'zhangsan'
};
}
]);
ng-controller:指的是当前元素交给名字叫做HelloController的控制器中。
控制器的三种主要职责:
1).为应用中的模型设置初始状态
2).通过$scope对象把数据或函数行为暴露给视图
3).监视模型的变化,做出相应的动作
3.$scope(上下文模型)
1)是视图和控制器之间的桥梁。
2)用于在视图和控制器之间传递数据。
3)利用$scope暴露数据模型。
4.$scope.$watch方法
$scope.$watch('user.name',function (now,old)
当user.name发生变化时,就会触发function(){}事件(感觉有点像js中的onkeyup()事件);
5.表达式(Expression){{}}
作用:使用表达式把数据绑定到HTML
语法:表达式写在双大括号内{{}};
表达式类似于ng-bind指令
6.AngularJS和javascript之间的区别
angular表达式可以运用在HTML中
angularJS不支持循环,条件语句
angularJS支持过滤器
7.单向数据绑定和双向数据绑定
单向数据绑定:
1.模型变化过后,自动同步到界面上
2.一般展示型的数据会用到单项数据绑定。(使用表达式的方式都是单向的)
双向数据绑定:
1.两个方向的数据自动同步
2.模型发生变化自动同步到视图上
3.视图上的数据发生变化自动同步到模型上
8.指令
angularJS 有一套完整的、可扩展的、用来帮助web应用开发的指令集
在建立DOM期间,和HTML关联的指令会被检测到,并且被执行
在angularJS中将前缀为ng-这种属性称之为指令,其作用是为DOM元素调用方法,定义行为,绑定数据等
简单说:当一个Angular应用启动时,Angular会遍历DOM树来解析HTML,根据指令不同,完成不同的操作。
9.ng-bind指令
和{{}}非常相似,也就是将作用域(scope)值绑定到元素的HTML上,其效果会比{{}}要好得多
评论