使用初体验:ng 双向数据绑定:
最简单的双向数据绑定:(使用默认模块控制)
<body ng-app>
<input type="text" ng-model='ngName'>
<h1>{{ngName}}</h1>
</body>
完成对数据的初始化:
//初始化原理:ng-app 初始完之后,就会往在ng-init里面赋值一个初始值:world , 这个值会自动绑定到下面 ;
<body ng-app ng-init="ngName = '张三'">
<input type="text" ng-model='ngName'>
<h1>{{ngName}}</h1>
</body>
注意:angularJs默认的是双向数据绑定,单项数据绑定 {{::ngName}}
使用自定义模块控制:(完成对数据的初始化)
<body ng-app="myApp" ng-controller="myAppController">
<input type="text" ng-model='userName'>
<h1>{{userName}}</h1>
</body>
<script type="text/javascript">
var myApp = angular.module('myApp',[]);
myApp.controller('myAppController',['$scope',function($scope){
$scope.userName = '李四';
}]);
</script>
还可以这样:
<body ng-app="myApp" ng-controller="myAppController">
<input type="text" ng-model='user.name'>
<input type="text" ng-model='user.age'>
<h1>{{user.name}}的年纪是{{user.age}}</h1>
</body>
<script type="text/javascript">
var myApp = angular.module('myApp',[]);
myApp.controller('myAppController',['$scope',function($scope){
$scope.user = {};
$scope.user.name = "张三";
$scope.user.age = 20;
}]);
</script>
angularJs降低了大量的dom操作:
案例一:实现 点击增加
<body ng-app>
<input type='number' ng-model='value'>
<input type="button" ng-click='value = value+1' value="增加">
<script type='text/javascript' src='node_modules/angular/angular.js'></script>
<script type='text/javascript' ></script>
</body>
案例二:实现简单的加法运算
<body ng-app>
<input type="number" value="1" ng-model='parameter1'>
<span>+</span>
<input type="number" value="2" ng-model='parameter2'>
<input type="button" value="=" ng-click='result = parameter1 + parameter2'>
<input type="text" ng-model='result'>
<script type='text/javascript' src='node_modules/angular/angular.js'></script>
</body>
注意:
angularJS虽然摈弃了DOM操作,但是angularJS还是提供了操作 DOM 的方法:
(使用 angular 提供的 jqlite 也就是angular里面帮我们提供的一个轻量级的 jQuery)
<script type="text/javascript">
//没有用$选中器,而是 angular.element('body'); //拿到 body
angular.element('body');
</script>
angularJS四大特点:
1、MVC;
2、模块化;
3、自动化双向数据绑定;
4、指令系统;
angularJS安装:
1、直接下载angularJS包:
- https://github.com/angular/angularjs.js/releases
2、使用CDN上的angularJS
- http://cdn.code.baidu.com/
3、使用Bower安装(推荐)
- bower install angular
4、推荐使用 NPM 安装(推荐)
- npm install angular --save
angularJS 使用总结:
1、angularJS最大程度上降低了页面上的DOM操作;
2、让javascript中,专注业务逻辑的代码;
3、通过自定义指令实现组件化编程;
4、代码结构更加简单;
5、angularJs解放了传统 javascript 中频繁的DOM操作,同时也还原了javascript的本质;