angulars入门

特征

MVC模式

Model:数据,其实就是angular变量($scope.XX);
View: 数据的呈现,Html+Directive(指令);
Controller:操作数据,就是function,数据的增删改查;

   

双向绑定

AngularJS是建立在这样的信念上的:即声明式编程应该用于构建用户界面以及编写软件构建,而指令式编程非常适合来表示业务逻辑。框架采用并扩展了传统HTML,通过双向的数据绑定来适应动态内容,双向的数据绑定允许模型和视图之间的自动同步。因此,AngularJS使得对DOM的操作不再重要并提升了可测试性。

依赖注入

依赖注入(Dependency Injection,简称DI)是一种设计模式, 指某个对象依赖的其他对象无需手工创建,只需要“吼一嗓子”,则此对象在创建时,其依赖的对象由框架来自动创建并注入进来,其实就是最少知识法则;模块中所有的service和provider两类对象,都可以根据形参名称实现DI.

模块化设计

高内聚低耦合法则
1)官方提供的模块           ng、ngRoute、ngAnimate
2)用户自定义的模块     angular.module('模块名',[ ])

基本操作

ng-app指令

ng-app 指令 作用是告诉子元素一下的指令是归angularJs的,angularJs会识别的

ng-app 指令定义了 AngularJS 应用程序的 根元素。

ng-app 指令在网页加载完毕时会自动引导(自动初始化)应用程序

	<script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body ng-app>
		{{100*20}}
	</body>

双向绑定(ng-model)

ng-model 指令用于绑定变量,这样用户在文本框输入的内容会绑定到变量上,而表达式可以实时地输出变量。

<body ng-app>
		请输入姓名<input ng-model="zym">
		<br>
		{{zym}},你好
		
	</body>



我们如果希望有些变量,方法具有初始值,可以使用ng-init指令来对变量初始化,可以在初始化的时候调用方法,

<body ng-app   ng-init="myname='特朗目'">
请输入你的姓名:<input ng-model="myname">
<br>
{{myname}},你好

控制器(ng-controller)

ng-controller用于指定所使用的控制器。
理解 $scope:
$scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了$scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同样的$scope 发生改变时也会立刻重新渲染视图.
 

// 第一步:定义模块的名字
			var app1 = angular.module("myapp",[])
			// 第二步 定义控制器 $scope:作用域
			app1.controller("myController",function($scope){
				//定义方法add()
				$scope.add=function(){
				var res1=parseInt($scope.x)+parseInt($scope.y);
				return res1
				}
				
			});
			
		</script>
	</head>
	<body ng-app="myapp" ng-controller="myController">
		X:<input ng-model="x" /><br />
		Y:<input ng-model="y" /><br />
		运算结果:{{add()}}

点击指令(ng-click)

是最常用的单击事件指令,再点击时触发控制器的某个方法

<body ng-app="myapp" ng-controller="myController">
		X:<input ng-model='x' /><br />
		Y:<input ng-model="y" /><br />
		<button ng-click="add()">运算</button>
		结果:{{z}}
	</body>

循环数组(ng-repeat)

			//定义模块名字
			var app1 = angular.module("myapp",[]);
			//定义控制器
			app1.controller("myController",function($scope){
				$scope.list=[1,2,100,4,5];
			})
		</script>
		
	</head>
	<body ng-app="myapp" ng-controller="myController">
		<table>
			<tr ng-repeat="x in list">
				<td>{{x}}</td></tr>
		</table>
	</body>

循环对象数组

这个和上方的差不多,只是取出的是对象,然后用"."来取出属性

内置服务($http)

			var app1 = angular.module("myapp",[]);
			//定义控制器
			app1.controller("myController",function($scope,$http){
					//请求路径及响应回来的数据
					$http.get("data.json").success(
						function(response){
							$scope.list=response;
						}
					)
			})
		</script>
	</head>
	<body ng-app="myapp" ng-controller="myController">
		<table>
			<tr ng-repeat="x in list">
				<td>{{x.name}}</td>
				<td>{{x.age}}</td>
			</tr>	
		</table>
	</body>
</html>

伪继承

继承的写法,其中baseController为要继承的类,brandService为mvc中的service层

app.controller("brandController",function($scope,$http,$controller,brandService){
    $controller("baseController",{$scope:$scope});

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值