Angular入门(二)快速入门
来源:互联网 发布:linux zip打包 TXT文件 编辑:程序博客网 时间:2024/06/07 17:38
想要快点上手Angular的项目,就读了《精通AngularJS》,就第一章快速入门做个笔记。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app ng-init="name='world'"> <p>名字 : <input type="text" ng-model="name"></p> <h1>Hello {{name}}</h1> </div> </body> </html>1)引入angular.js库
2)使用ng-app的html属性引导
1. 重要特征:
- 使用自定义的html标签与属性,为静态html文档添加动态行为
- 使用双花括号作为输出模型值的表达式的分隔符{{expression}}
<body ng-app ng-init="name='world'"> say hello to:<input type="text" ng-model="name"> <h1>hello, {{name}}!</h1></div>
3. MVC模式
1)将ng-init改为ng-controller和函数HelloCtrl
<div ng-controller="HelloCtrl"> say hello to:<input type="text" ng-model="name"><br> <h1>hello, {{name}}!</h1></div>函数接收神秘参数$scope
var HelloCtrl = function($scope){ $scope.name='world';}
1)scope作用域
$scope对象是模版的域模型,通过为其属性赋值,可以传递数据给模版渲染
scope也可以封装函数如$scope.getName=function(){...}, 在html中调用{{getName()}}
- 作用域层级:ng-controller指令会调用scope对象的$new方法创建新的作用域。$rootScope是其他所有作用域的父作用域,在新应用启动时自动创建。
- 作用域层级和继承:只要子作用域没有与父作用域同名属性,作用域定义的属性对所有子作用域是可见的,只要子作用域没有定义同名的属性。与javascript继承遵循同样的原则。
- 作用域层级与事件系统:允许跨越作用域层级,传播带有信息的命名事件,然后向上奋发或向下传播。每个作用域实例都有$on方法,用于注册作用域事件的处理器。调用处理器函数时,被分发的event对象会做为第一个参数传入,后续参数则会依据事件负载的信息和事件类型而定。
$scope.$on('$locationChangeSuccess', function(event, beware, oldUrl){ //在这里对地址的变化作出反应 //根据新的Url更新面包屑导航});
向上分发事件:$includeContentRequested, $includeContentLoaded, $viewContentLoaded, 向下广播:$locationChangeStart, $locationChangeSuccess, $routeUpdate, $routeChangeStart, $routeChangeSuccess, $routeChangeError, $destroy
2)控制器(controller):初始化作用域实例。不需要特别扩展angualrJs底层类或构造模型对象。
- 提供模型的初始值
- 增加UI相关的行为(函数)以及扩展$scope对象
3)模型(model):普通的js对象。不需要特别扩展angualrJs底层类或构造模型对象。模型可拥有的属性也不仅限于原始值,任何有效的javascript对象或数组都可以,只需要将模型简单的指派给$scope。
4. 模块与依赖注入
1)模块:angular为自己定一了全局命名空间angular,它提供多种功能及不少便利函数,module是其中之一。module作为控制器、服务等的容器
定义新的模块:
angular.module('hello', [])//第一个参数是名字,第二个参数表明需要依赖哪些模块 .controller('HelloCtrl', function($scope){//控制器名字、控制器的构造函数 $scope.name = 'world';});返回新创建模块的实例,然后开始定义新的控制器,调用controller
模块定义好后,告知angularjs它的存在,只要为ng-app属性赋值即可
<body ng-app="hello">
2)协作对象
依赖注入:控制器声明需要$scope对象,所以AngularJS会创建并注入它。
angularjs拥有内建的依赖注入引擎,
- 理解对象对其协作对象的需求
- 找到所需的写作对象
- 连接协作对象,以形成功能完备的应用
阅读全文
0 0
- Angular入门(二)快速入门
- Angular快速入门(一)
- Angular Js快速入门
- (一)Angular 快速入门
- Angular 路由快速入门
- Angular快速入门2 ---控制器(controller)
- Angular快速入门3--指令
- Angular快速入门---过滤器篇
- Angular快速入门--路由篇
- angular入门学习之二
- Struts快速入门(二)
- Struts快速入门(二)
- Struts快速入门(二)
- Struts快速入门(二)
- Struts快速入门(二)
- NUnit快速入门(二)
- Struts快速入门(二)
- Firebug快速入门(二)
- 面试时,如何向公司提问?
- android事件分发机制
- 04 rest-framework之基于类视图的视图函数
- Cesium载荷测试
- C#dictionary 构造
- Angular入门(二)快速入门
- mybatis分页(PageHelper)
- 旷视Face++回清华求教AI本质创新,姚期智授2锦囊,出任首席顾问
- Socket蓝牙传输
- 相机控制类
- 软件工程(C编码实践篇)学习总结
- 153. Find Minimum in Rotated Sorted Array
- 在线生成小程序码,微信生成带参数小程序码
- Cordova插件CordovaPlugin包名问题