B2B2C-2 品牌管理-1-AngularJs

一、简介

2009年诞生的前端框架,后被google收购,版本更新中,有四大特性:

1.mvc模式:数据层-视图层-控制层

2.双向绑定

    视图,数据双更新

ui视图<--------------------------->数据模型

3.依赖注入:同spring的思想是一致的

4.模块化设计: 

高内聚低耦合,模块之内的东西是相关联的,但是模块之间少用关联依赖

二、入门demo

1.demo

e盘新建文件夹demo

将angular.min.js拷贝到其中,常见index.html文件,内容如下:

<html>
<head>
<title>angularjs 表达式</title>
<script src="angular.min.js"></script>
</head>
<body ng-app>
{{100+100}}
<body>
</html>

其中,<script src="angular.min.js"></script> 代表引入文件

 <body ng-app> 代表可以将100+100表达式结果输出,

angularjs使用双大括号形式{{}}

点击index.html 页面显示200

2.双向绑定

index-2.html内容如下:

<html>
<head>
<title>angularjs -2双向绑定</title>
<script src="angular.min.js"></script>
</head>
<body ng-app>
请输入姓名:<input ng-model="name"/>
{{name}}
<body>
</html>

双向绑定

3.初始化指令

index-3.html

<html>
<head>
<title>angularjs -3初始化指令</title>
<script src="angular.min.js"></script>
</head>
<body ng-app ng-init="name='张三'">
请输入姓名:<input ng-model="name"/>
{{name}}
<body>
</html>

在运行的时候姓名:张三就显示到页面上

4.引入控制器:

例题:两个数相加:

<html>
<head>
<title>angularjs -4控制器</title>
<script src="angular.min.js"></script>
<script>

var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.add = function() {
return parseInt($scope.x)+parseInt($scope.y);
}
});
</script>
</head>
<body ng-app="myApp" ng-controller="myController">
第一个整数: <input ng-model="x"><br>
第二个整数: <input ng-model="y"><br>
<br>
和: {{add()}}
<body>
</html>

5.事件指令

<html>
<head>
<title>angularjs -4控制器</title>
<script src="angular.min.js"></script>
<script>

var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.add = function() {
$scope.z = parseInt($scope.x)+parseInt($scope.y);
}
});
</script>
</head>
<body ng-app="myApp" ng-controller="myController">
number1: <input ng-model="x"><br>
number2: <input ng-model="y"><br>
<br>
<button ng-click="add()">运算</button>
运算结果:{{z}}
<body>
</html>

6.循环

6.1循环数组

<html>
<head>
<title>angularjs -6循环</title>
<script src="angular.min.js"></script>
<script>

var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.list = [1,2,3,4];
});
</script>
</head>
<body ng-app="myApp" ng-controller="myController">
<table>
<tr ng-repeat="value in list">
<td>{{value}}</td>
</tr>
</table>
<body>
</html>

6.2循环对象数组

<html>
<head>
<title>angularjs -7循环</title>
<script src="angular.min.js"></script>
<script>

var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.list = [
{name:'张三',age:20,score:98},
{name:'李四',age:20,score:99},
{name:'王五',age:20,score:97}
];
});
</script>
</head>
<body ng-app="myApp" ng-controller="myController">
<table>
<tr>
<td>姓名</td>
<td>年龄</td>
<td>成绩</td>
</tr>
<tr ng-repeat="value in list">
<td>{{value.name}}</td>
<td>{{value.age}}</td>
<td>{{value.score}}</td>
</tr>
</table>
<body>
</html>

7.内置服务

意思是变量的获取通过后台数据库,也就是和后台进行交互的方式,为了简单,本例中定义data.json,内容相当于是从后台获得,

data.json中的内容如下:
[
{"name":"张三","age":20,"score":98},
{"name":"李四","age":20,"score":99},
{"name":"王五","age":20,"score":97}
]

index-8.html中的内容是

<html>
<head>
<title>angularjs -8内置服务</title>
<script src="angular.min.js"></script>
<script>

var app = angular.module('myApp', []);
app.controller('myController', function($scope,$http) {
//实际是从后端获取的
$scope.findList=function(){
$http.get("data.json").success(
function(response){
$scope.list=response;
}
);
}
});
</script>
</head>
<body ng-app="myApp" ng-controller="myController" ng-init="findList()">
<table>
<tr>
<td>姓名</td>
<td>年龄</td>
<td>成绩</td>
</tr>
<tr ng-repeat="value in list">
<td>{{value.name}}</td>
<td>{{value.age}}</td>
<td>{{value.score}}</td>
</tr>
</table>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/healthinfo/p/9707514.html