angularJs初体验,实现双向数据绑定!使用体会:比较爽
使用初体验: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初体验,实现双向数据绑定!使用体会:比较爽的更多相关文章
- angularJs的指令系统和双向数据绑定
一.langularJs的指令系统 <!DOCTYPE HTML> <html ng-app><!--这种以ng开头的就是指令系统,初始化的一个指令,不仅可以加在html ...
- AngularJS初体验
最近突然发现,Coding.net真是一个神奇的网站.这各网站90%的请求都是通过ajax完成的.可以发现,不管你点任何链接,网页都不会刷新,点击浏览器的返回或前进按钮也是这样,打开chrome的开发 ...
- MVC + AngularJS 初体验(实现表单操作)
AngularJS AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 可以构建一个单一页面应用程序(SPAs:Single Page Applications). Ang ...
- AngularJS之双向数据绑定,class绑定
之前一直都是用vue来完成一些日常开发,初入AngularJS,记录一些日常开发遇到的问题. 1.双向数据绑定 AngularJS与vue的区别在于,vue采用的是虚拟DOM,模板文件上绑定的一大堆指 ...
- 玩转angularJs——通过自定义ng-model,不仅仅只是input可以实现双向数据绑定
体验更优排版请移步原文:http://blog.kwin.wang/programming/angularJs-user-defined-ngmodel.html angularJs双向绑定特性在开发 ...
- day21—AngularJS学习初体验
转行学开发,代码100天——2018-04-06 今天按照学习计划安排,开始AngularJS的学习. 关于AngularJS,在菜鸟教程上这样介绍 好吧,Angular学习起来非常简单,哈哈,现在就 ...
- 《AngularJS权威教程》中关于指令双向数据绑定的理解
在<AngularJS权威教程>中,自定义指令和DOM双向数据绑定有一个在线demo,网址:http://jsbin.com/IteNita/1/edit?html,js,output,具 ...
- AngularJS入门心得2——何为双向数据绑定
前言:谁说Test工作比较轻松,最近在熟悉几个case,差点没疯.最近又是断断续续的看我的AngularJS,总觉得自己还是没有入门,可能是自己欠前端的东西太多了,看不了几行代码就有几个常用函数不熟悉 ...
- angularJs:双向数据绑定
示例1 <!DOCTYPE html> <html ng-app> <head> <meta charset="UTF-8" /> ...
随机推荐
- jQuery.Form插件介绍
一.前言 jQuery From插件是一个优秀的Ajax表单插件,使用它可以让你非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery From有两个主要方法:ajaxForm和ajaxS ...
- javascript实现记录文本框内文字个数
最近在做一个项目中遇到这样一个问题,要对文本框中用户输入的文字进行记数,在下面显示出来,因为我们做的是一个短信发送平台,现在我们国家的短信服务,如果你的信息超过了70个字符,短信就会按二条给你下发.所 ...
- 消息中间件系列之ActiveMQ的简单安装
本次测试使用一台ip为192.168.2.12的虚拟机 一.解压压缩包 tar -zxvf apache-activemq-5.14.4-bin.tar.gz 二.启动activemq 进入到bin目 ...
- [android] Android 错误集锦
问题1:导入工程时报错The import android.XXX cannot be resolved 解决方法: 1.右键工程→Bulid Path→Configure Build Path... ...
- ubuntu 16.04 安装pycharm
Ubuntu16.04下安装Cuda8.0+Caffe+TensorFlow-gpu+Pycharm过程(Simple) ubuntu 16.04 安装pycharm 1.安装java jdk 直接 ...
- 在 C++ 程序中只使用 const 常量而不使用宏常量
在 C++ 程序中只使用 const 常量而不使用宏常量,即 const 常量完 全取代宏常量. #include <iostream> /* run this program using ...
- Ubuntu下,如何解决Unable to locate package
在虚拟机上新装了一个ubuntu 12.10,想在上面装一个Git,却发生了以下错误信息 我觉得原因可能是我换了163的源,没有更新所以找不到这个包. 这时候就要使用 sudo apt-get upd ...
- QQ空间留言的JS
直接上代码吧... var i=0; var time; function test(str) { i++; document.getElementById('tgb').contentWindow. ...
- android 沉浸式状态栏(像ios那样的状态栏与应用统一颜色样式)
这个特性是andorid4.4支持的,最少要api19才干够使用.以下介绍一下使用的方法,很得简单: 添加一个demo源代码: https://github.com/ws123/StatusDemo ...
- Unity的加载路径
1.Resources 路径 只读 不能动态的修改 存放内容 预制体(prefabs) - 不容易变化的预制体 prefabs打包的时候 会自动过滤不需要的资源 有利于减小资源大小 主线程加载 Res ...