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的更多相关文章

  1. 现在学习 JavaScript 的哪种技术更好:Angular、jQuery 还是 Node.js?(转)

    本文选自<开发者头条>1 月 7 日最受欢迎文章 Top 3,感谢作者 @WEB资源网 分享. 欢迎分享:http://toutiao.io/contribute 这是一个发布在 Quor ...

  2. Angular和jQuery的ajax请求的差别

    近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...

  3. JavaScript强化教程——jQuery AJAX 实例

    什么是 AJAX?AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML).简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据 ...

  4. JavaScript强化教程——jQuery UI API 类别

    ---恢复内容开始--- 主要介绍:JavaScript强化教程​—— jQuery UI API 类别 jQuery UI 在jQuery 内置的特效上添加了一些功能.jQuery UI 支持颜色动 ...

  5. paip.提升效率--数据绑定到table原理和流程Angular js jquery实现

    paip.提升效率--数据绑定到table原理和流程Angular js  jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #-----An ...

  6. 原生 JavaScript 代码和Jquery实现对比

    下面就带大家一起看看在 IE 浏览器环境中如果使用原生 JavaScript 代码实现 jQuery 中的功能.如果你打算自己开发一个小的基础框架,可以好好参考一下这些代码的实现. 本文转载:http ...

  7. paip.提高工作效率--数据绑定到table原则和过程Angular js jquery实现

    paip.提高工作效率--数据绑定到table原理和流程Angular js  jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #----- ...

  8. 编写Javascript类库(jQuery版

    编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...

  9. Javascript Fromdata 与jQuery 实现Ajax文件上传以及文件的删除

    前端HTML代码: <!DOCTYPE html> <html> <head> <title>ajax</title> <script ...

  10. Javascript Fromdata 与jQuery 实现Ajax文件上传

    <!DOCTYPE html> <html> <head> <title>ajax</title> <script type=&quo ...

随机推荐

  1. EntityFramework学习

    本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework.ADO.NET的 ...

  2. ArcGIS Add-in——自动保存编辑

    需求:由于初次使用ArcGIS编辑器不习惯.数据量大造成经常程序未响应.计算机断电等因素,造成编辑的数据没有保存,影响了生产效率,本人根据草色静然的博文,总结了自动保存编辑的实现方法. 分析:自动保存 ...

  3. 树莓派版的家用NAS服务器

    家里的文件越来越多,每个人的文件放得到处都是,需要的时候又找不到... 买个NAS服务器?太贵!太吵!太费电!... 好在我们有树莓派,自己动手,丰衣足食! 说做就做,主要分成以下三部分 加载双USB ...

  4. SPJS Upload for SharePoint: Custom upload page for uploading documents to various document libraries in a site collection

    http://spjsblog.com/2013/12/08/spjs-upload-for-sharepoint-custom-upload-page-for-uploading-documents ...

  5. 转:Eclipse 一直不停 building workspace... 完美解决总结

    原文地址: Eclipse 一直不停 building workspace... android开发论坛 juapk 完美解决总结 一.产生这个问题的原因多种 1.自动升级 2.未正确关闭  3.ma ...

  6. C语言动态存储分配

    动态存储分配 C语言支持动态存储分配,即在程序执行期间分配内存单元的能力,利用动态存储分配,可以根据需要设计扩大(或缩小)的数据结构,虽然可以适用于所有类型的数据,但是动态存储分配更常用于字符串.数组 ...

  7. Eclipse下link方式安装插件

    一.eclipse安装位置和存放文件位置 eclipse安装位置:D:\ProgramFile\eclipse存放文件:D:\mydep 二.下载插件 这里下载的是PropertiesEditor解压 ...

  8. iOS多线程-01-pthread与NSTread

    简介 恰当的使用多线程编程可以提供任务的执行效率和系统资源的利用率 多线程是为了提高资源利用率,和应用程序的响应速度,多个线程共享应用资源 每个应用程序都有一个主线程,通常用来做UI界面刷新等 比较耗 ...

  9. iOS开发之网络编程--5、NSURLSessionUploadTask+NSURLSessionDataDelegate代理上传

    前言:关于NSURLSession的主要内容快到尾声了,这里就讲讲文件上传.关于文件上传当然就要使用NSURLSessionUploadTask,这里直接讲解常用的会和代理NSURLSessionDa ...

  10. UVa 109 - SCUD Busters(凸包计算)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...