使用初体验: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的本质;

angularJs初体验,实现双向数据绑定!使用体会:比较爽的更多相关文章

  1. angularJs的指令系统和双向数据绑定

    一.langularJs的指令系统 <!DOCTYPE HTML> <html ng-app><!--这种以ng开头的就是指令系统,初始化的一个指令,不仅可以加在html ...

  2. AngularJS初体验

    最近突然发现,Coding.net真是一个神奇的网站.这各网站90%的请求都是通过ajax完成的.可以发现,不管你点任何链接,网页都不会刷新,点击浏览器的返回或前进按钮也是这样,打开chrome的开发 ...

  3. MVC + AngularJS 初体验(实现表单操作)

    AngularJS AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 可以构建一个单一页面应用程序(SPAs:Single Page Applications). Ang ...

  4. AngularJS之双向数据绑定,class绑定

    之前一直都是用vue来完成一些日常开发,初入AngularJS,记录一些日常开发遇到的问题. 1.双向数据绑定 AngularJS与vue的区别在于,vue采用的是虚拟DOM,模板文件上绑定的一大堆指 ...

  5. 玩转angularJs——通过自定义ng-model,不仅仅只是input可以实现双向数据绑定

    体验更优排版请移步原文:http://blog.kwin.wang/programming/angularJs-user-defined-ngmodel.html angularJs双向绑定特性在开发 ...

  6. day21—AngularJS学习初体验

    转行学开发,代码100天——2018-04-06 今天按照学习计划安排,开始AngularJS的学习. 关于AngularJS,在菜鸟教程上这样介绍 好吧,Angular学习起来非常简单,哈哈,现在就 ...

  7. 《AngularJS权威教程》中关于指令双向数据绑定的理解

    在<AngularJS权威教程>中,自定义指令和DOM双向数据绑定有一个在线demo,网址:http://jsbin.com/IteNita/1/edit?html,js,output,具 ...

  8. AngularJS入门心得2——何为双向数据绑定

    前言:谁说Test工作比较轻松,最近在熟悉几个case,差点没疯.最近又是断断续续的看我的AngularJS,总觉得自己还是没有入门,可能是自己欠前端的东西太多了,看不了几行代码就有几个常用函数不熟悉 ...

  9. angularJs:双向数据绑定

    示例1 <!DOCTYPE html> <html ng-app> <head> <meta charset="UTF-8" /> ...

随机推荐

  1. 实现对DataGird控件的绑定操作

    //实现对DataGird控件的绑定操作 function InitGrid(queryData) { $('#grid').datagrid({ //定位到Table标签,Table标签的ID是gr ...

  2. Android修改默认SharedPreferences文件的路径,SharedPreferences常用工具类

    import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; ...

  3. C++隐式转换与显式转换

    普通类型的转换顺序:隐式把char——>int和从short——>double.转换可能会导致数据的丢失. 自定义类型:有两种函数可以进行隐式转换,单参数构造函数 和 隐式类型转换符.   ...

  4. hbase权威指南阅读随手笔记二之过滤器

    转自:http://blog.csdn.net/saint1126/article/details/8257941 base过滤器的比较操作符:   LESS  <LESS_OR_EQUAL & ...

  5. Hibernate注解关系映射

    Hibernate Annotation关系映射的几种类型映射用法及使用方法(说明:以前实例的实体是user和role,主键分别是userid和roleid)   1)一对一外键关联映射(单向) @O ...

  6. BCM_GPIO驱动测试

    在写内核驱动的时候,最好先在uboot上,进行裸板测试,验证寄存器,再移植到内核中,这样可以熟悉寄存器,也排除内核中的一些干扰. /********************************** ...

  7. MySQL常用shell语句

    1.连接数据库 格式:mysql -h ip -P port -u user -p 2.修改某一列的值 格式:update tablename set column1 = 'xxx', column2 ...

  8. 更改windows 2003远程桌面端口3389为其他的端口号【转】

    众所周知,windows 2003远程终端服务基于默认端口3389.入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵 ...

  9. 关于document.createDocumentFragment()(转)

    documentFragment 是一个无父对象的document对象. 他支持以下DOM2方法: appendChild, cloneNode, hasAttributes, hasChildNod ...

  10. VMware下Ubuntu与宿主Windows共享文件夹 (转至 http://blog.csdn.net/zz962/article/details/7706755)

    概述 1.安装VMware Tool 2.设置共享 步骤 开始安装VMware Tool 显示如下画面(如果宿主无法访问外网,可能会出现一个更新失败,可以无视之) 通过下列命令解压.执行,分别是下面的 ...