JavaScript---Angular 和JQuery
Angular 三层模式 M model和data 数据层 , V view 视图层 , C controller 控制器,程序主逻辑 ,通过指令扩展HTML,通过表达式绑定数据到HTML。
View(视图), 即 HTML。
Model(模型), 当前视图中可用的数据,在表达式输出数据。
Controller(控制器), 即 JavaScript 函数,可以添加或修改属性。
Angular 指令:(AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。 )
AngularJS 通过被称为 指令 的新属性来扩展 HTML。
AngularJS 通过内置的指令来为应用添加功能。
AngularJS 允许你自定义指令。
angular 表达式:
数据绑定表达式{{ firstName }} 是通过 ng-model="firstName" 进行同步。
AngularJS 表达式写在双大括号内:{{ expression }}。
AngularJS 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙。
AngularJS 将在表达式书写的位置"输出"数据。
AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。
实例 {{ 5 + 5 }} 或 {{ firstName + " " + lastName }}
AngularJS 应用
AngularJS 模块(Module) 定义了 AngularJS 应用。
AngularJS 控制器(Controller) 用于控制 AngularJS 应用。
ng-app指令定义了应用, ng-controller 定义了控制器。
AngularJS 模块定义应用:
var app = angular.module('myApp', []);
AngularJS 控制器是控制定义的应用程序的:
app.controller('myCtrl', function($scope) {
$scope.firstName= "John";
});
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。(angular以数据为中心,通过试图和控制器来求数据)
Scope 是一个对象,有可用的方法和属性。这些属性和方法可以在视图和控制器中使用。视图中,你不需要添加 $scope 前缀, 只需要添加属性名即可,如: {{carname}}。
当你在 AngularJS 创建控制器时,你可以将 $scope 对象当作一个参数传递。
$rootScopege根作用域 相当于全局变量,可以在各个 controller 中使用。
常用指令
ng-app 指令初始化一个 AngularJS 应用程序,定义了 AngularJS 应用程序的 根元素。
ng-bind 输出数据,相当于{{}};
ng-init 指令初始化应用程序数据。
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
ng-repeat 指令会重复一个 HTML 元素。
循环数组<p ng-repeat="x in arr">{{x}}</p>
ng-controlle 指令定义了应用程序控制器
事件指令
ng-click=’toggle()’; 点击事件
ng-hide(ng-show)="myVar" 设置 HTML 元素不可见。False可见。
$scope.toggle = function() {
$scope.myVar = !$scope.myVar; 开关a=!a;
};
ng-disabled 直接绑定应用程序数据(例如true或false)到 HTML 的 disabled 属性 true是不可用变灰,false 是可用 eg:
<p>
<button ng-disabled="a">点我!</button>
</p>
<p>
<input type="checkbox" ng-model="a">按钮
体会:ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
</p>
ng-change 表单元素发生改变的事件
过滤器:
{{a|limitTo:2}} 限制数量
{{a|lowercase}} 小写
{{a|currency:'rmb'}} 转为货币
HTTP
app.controller(“myapp”,function($scope,$http){
//取数据
$http.get('url').success(function(str){
$scope.a = str;
});
});
控制器的嵌套继承 子级可以用父级的作用域,但是父级用不了子级,需要发送和接受
Eg:app.controller('aaa',function($scope){ 父级
//$scope.a = 12;
$scope.$on('data',function(event,data){
$scope.a = data+1;
});
});
app.controller('bbb',function($scope){ 子级
$scope.c = function(){
$scope.$emit('data',$scope.a); 向父级发送
$scope.$broadcast('data',$scope.a); 向子级传送
});
小问题:$setTimeout() 需要包一下
JavaScript---Angular 和JQuery的更多相关文章
- 现在学习 JavaScript 的哪种技术更好:Angular、jQuery 还是 Node.js?(转)
本文选自<开发者头条>1 月 7 日最受欢迎文章 Top 3,感谢作者 @WEB资源网 分享. 欢迎分享:http://toutiao.io/contribute 这是一个发布在 Quor ...
- Angular和jQuery的ajax请求的差别
近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...
- JavaScript强化教程——jQuery AJAX 实例
什么是 AJAX?AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML).简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据 ...
- JavaScript强化教程——jQuery UI API 类别
---恢复内容开始--- 主要介绍:JavaScript强化教程—— jQuery UI API 类别 jQuery UI 在jQuery 内置的特效上添加了一些功能.jQuery UI 支持颜色动 ...
- paip.提升效率--数据绑定到table原理和流程Angular js jquery实现
paip.提升效率--数据绑定到table原理和流程Angular js jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #-----An ...
- 原生 JavaScript 代码和Jquery实现对比
下面就带大家一起看看在 IE 浏览器环境中如果使用原生 JavaScript 代码实现 jQuery 中的功能.如果你打算自己开发一个小的基础框架,可以好好参考一下这些代码的实现. 本文转载:http ...
- paip.提高工作效率--数据绑定到table原则和过程Angular js jquery实现
paip.提高工作效率--数据绑定到table原理和流程Angular js jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #----- ...
- 编写Javascript类库(jQuery版
编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...
- Javascript Fromdata 与jQuery 实现Ajax文件上传以及文件的删除
前端HTML代码: <!DOCTYPE html> <html> <head> <title>ajax</title> <script ...
- Javascript Fromdata 与jQuery 实现Ajax文件上传
<!DOCTYPE html> <html> <head> <title>ajax</title> <script type=&quo ...
随机推荐
- 解决SharePoint 文档库itemadded eventhandler导致的上传完成后,编辑页面保持报错的问题,错误信息为“该文档已经被编辑过 the file has been modified by...”
在文档库中添加itemadded 后,在上传文件后,会自动打开文档属性的编辑页面,在保存的时候就会报错,说这个文档已经被编辑过了.这是应为默认itemadded实践是异步执行的,会在edit页面打开之 ...
- Git使用ssh key
生成ssh key步骤 这里以配置github的ssh key为例: 1. 配置git用户名和邮箱 git config user.name "用户名" git config us ...
- 我的GTD中收集的书单
在几年的GTD过程中,收集了一些想读的书目,没有系统地整理,每当读完一本之后,就翻翻书单,寻找下一本感兴趣的书,书是不可能读完的,只能找有兴趣的.符合自己目标方向的.有些书记录了豆瓣上的评分,虽然不是 ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...
- NSNumber和NSValue
在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...
- CocoaPods的安装(图文并茂)OS X 10.11 系统
这里是前言,可以跳过前言部分直接跳到后面"这里正式安装"开始看步骤: 系统:OS X EI Capitan 版本:10.11.2 开发工具:XCode:7.2 先给一个挺不错的关于 ...
- iOS之UI--UITabBarController
前言:跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ.微信等应用. UITabBarCo ...
- C语言--static全局使用示例
前言:看到很多使用Objective-C开发IOS的大牛,有时候会使用static全局变量,相比之下,我却很少用这个,从而很少对其有着比较有实质意义的理解,甚至更别说运用它了. 今天,经过一番思考和自 ...
- 所有Mac用户都需要知道的9个实用终端命令行
通常情况下,只有高端用户才会经常用到终端应用.这并不意味着命令行非常难学,有的时候命令行可以轻松.快速的解决问题.相信所有Mac用户都尝试过命令行,今天为大家带来9个非常实用的命令行操作.一些命令行需 ...
- Atitit。 《吠陀》 《梨俱吠陀》overview 经读后感 是印度上古时期一些文献的总称
Atitit. <吠陀> <梨俱吠陀>overview 经读后感 是印度上古时期一些文献的总称 1. 印度古<吠陀>经,是印度上古时期一些文献的总称, 1 1.1 ...