使用初体验: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. Windows消息队列一

    系统消息--ID范围 -0x03FF 由系统定义好的小哦啊拍下哦,可以在程序中直接使用. 用户自定义消息--ID范围0x0400-0x7FFF 由用户自己定义,满足用户自己的需求.由用户自己发出消息, ...

  2. Linux Linux常用命令三

    在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. touch 创建文件或修改文件时间 touch [options] file-list 参数 file-li ...

  3. 一个极其高效的虚拟机内存冗余消除机制:UKSM

    Linux内核机制KSM(Kernel Samepage Merging)能合并KVM虚拟机之间相同内存的页面,被CentOS, RHEL之类的服务器内核广泛采用,但是其速度很慢.UKSM(Ultra ...

  4. 控制反转是Spring框架的核心。

    早在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题.他总结出是依赖对象的获得被反转了.基于这个结论,他为控制反转创造了一个更好的名字:依赖注入.许多非凡的应用(比H ...

  5. jquery 中json数组的操作(转)

    在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像J ...

  6. linux -- Ubuntu查看修改mysql的登录名和密码、安装phpmyadmin

    安装好mysql后,在终端输入 mysql -u root -p 按回车,输入密码后提示access denied......ues password YES/NO的错误 原因是用户名或密码不对! 查 ...

  7. LoadRunner 调用dll方法

    本文主要介绍简单DLL的编写方法及在LoadRunner中局部调用与全局调用DLL方法. 1.动态链接库的编写 在Visual C++6.0开发环境下,打开FileNewProject选项,可以选择W ...

  8. Linux使用expect实现自动登录的脚本

    前提条件服务器已经安装过tcl和expect, 若未安装:可以先执行 yum  install tcl  expect  进行安装 第一步.编写以下自动登录脚本login.sh ########### ...

  9. 第五章 使用 SqlSession(MyBatis)

    在 MyBatis 中,你可以使用 SqlSessionFactory 来创建 SqlSession.一旦你获得一个 session 之后,你可以使用它来执行映射语句,提交或回滚连接,最后,当不再需要 ...

  10. C# 基础小知识之yield 关键字

    对于yield关键字我们首先看一下msdn的解释: 如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法.运算符或 get 访问器是迭代器. 通过使用 yield 定义迭代器,可在实现自 ...