初识Angular

AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入,等等。

AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。

通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:

类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等

框架 - 框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。

AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:

使用双大括号{{}}语法进行数据绑定;

使用DOM控制结构来实现迭代或者隐藏DOM片段;

支持表单和表单的验证;

能将逻辑代码关联到相关的DOM元素上;

能将HTML分组成可重用的组件。

ng-app 指令初始化一个 AngularJS 应用程序。

ng-init 指令初始化应用程序数据。

ng-model 指令把元素值(比如输入域的值)绑定到应用程序。

 1 <div ng-app="" ng-init="quantity=1;price=5">
 2
 3 <h2>价格计算器</h2>
 4
 5 数量: <input type="number"    ng-model="quantity">
 6 价格: <input type="number" ng-model="price">
 7
 8 <p><b>总价:</b> {{ quantity * price }}</p>
 9
10 </div>

$scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。

$scope是一个对象,有可用的方法和属性。

$scope可应用在视图和控制器上。

ng-controller 指令定义了应用程序控制器。

 1 <div ng-app="myApp" ng-controller="myCtrl">
 2 {{ firstName + " " + lastName }}
 3 </div>
 4
 5 <script>
 6
 7 var app = angular.module("myApp", []);
 8
 9 app.controller("myCtrl", function($scope) {
10     $scope.firstName = "John";
11     $scope.lastName = "Doe";
12 });
13
14 </script>

控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>ang</title>
 6 </head>
 7 <body ng-app="myApp"  >
 8 <div id="app">
 9     <input type="text" ng-model="msg" >
10
11 </div>
12 <h1 ng-bind="data"></h1>
13 <div ng-controller="myCrl">
14 <button ng-click="togglePage(‘first‘)">1</button>
15 <button ng-click="togglePage(‘second‘)">2</button>
16 <button ng-click="togglePage(‘third‘)">3</button>
17 <div ng-show="showpage.first" ng-bind=‘"kd"‘></div>
18 <div ng-show="showpage.second" ng-bind=‘"la"‘></div>
19 <div ng-show="showpage.third" ng-bind=‘"pa"‘></div>
20
21 <script src="angular.min.js"></script>
22 <script>
23     var app = angular.module("myApp", []);
24
25
26     app.controller("myCrl", function($scope){
27         $scope.showpage = {
28         first: true,
29         second: false,
30         third: false
31         }
32
33         $scope.togglePage = function(page){
34             for(var i in $scope.showpage){
35                 $scope.showpage[i]=false;
36             }
37             $scope.showpage[page]= true;
38         }
39     })
40 </script>
41 </body>
42 </html>

ng-bind绑定 <p> 内的 innerHTML 到变量 myText:

1 <div ng-app="" ng-init="myText=‘Hello World!‘">
2
3 <p ng-bind="myText"></p>
4
5 </div>

ng-click 指令定义了 AngularJS 点击事件。

ng-show

ng-show指令用于设置应用部分是否可见。

ng-show="true" 设置 HTML 元素可见。

ng-show="false" 设置 HTML 元素不可见

ng-hide

ng-hide 指令用于设置应用部分是否可见。

ng-hide="true" 设置 HTML 元素不可见。

ng-hide="false" 设置 HTML 元素可见。

你可以通过 AngularJS 的 angular.module 函数来创建模块:

 1 var app = angular.module("myApp", []);
 2
 3
 4     app.controller("myCrl", function($scope){
 5         $scope.showpage = {
 6         first: true,
 7         second: false,
 8         third: false
 9         }
10
11         $scope.togglePage = function(page){
12             for(var i in $scope.showpage){
13                 $scope.showpage[i]=false;
14             }
15             $scope.showpage[page]= true;
16         }
17     })

时间: 2024-11-01 01:48:19

初识Angular的相关文章

初识angular.js之爱恨情仇

angular.js Angular.JS 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好. 简单概括:MV*模型的js框架 angular.js之爱恨情仇 爱恋之际 MV*模式 职责清晰.层次分明,例如页面样式变化仅改变View代码,其它层次结构代码无需改动. 数据绑定 数据视图绑定(单.双向数据绑定),无需反锁的改变DOM的值或修

初识 Angular 体会

一句话描述:一个前端的类似MVC框架的JS库 刚接触2天,刚一看感觉和asp.net mvc能实现的功能有点重复. 虽然asp.net的表单验证,Razor语法使其在前端开发有较大提升,但要实现比较高级复杂效果还是要 客户端JS来实现,服务端更多是提供和保存数据的角色. 如果只是简单的CURD应用,用原始Mvc的功能会效率更高也够用. 很多前端js框架注重的是UI表现.而angular注重的是如何管理和表现数据. angular本身不提供样式和控件,是一个管理数据,控制输出的JS库. 虽然很多控

初识angular体验(五)

大家好,好久不见啦,不知道朋友们这段时间学习的怎样了?都有没有提高呢?本人这期间基本把angular基础教程都看了一遍,感觉受益匪浅. 今天给大家说的是一个小知识点--全局变量,所谓全局变量懂JS的人都会明白,但是在angular里如何使用呢?让我们继续往下看. 在angualr里设置全局变量有2个函数,是以定义服务的形式注入进去的,constant()和value(),下面我看来看代码: <div ng-controller="myCtrl1">             

带你初识Angular中MVC模型

简介 MVC是一种使用 MVC(Model View Controller 模型-视图-控制器)设计模式,该模型的理念也被许多框架所吸纳,比如,后端框架(Struts.Spring MVC等).前端框架(Angular.Backbone等).在学习angular的过程中,我在网上查找关于angular MVC介绍的文章很少,有些文章也没有很直白地为初学者指明angular MVC到底是啥样貌,因此,今天我们就来谈谈MVC模型在angular的形态. 为了介绍angular MVC模型,我建立一个

初识 angular js

创建第一个 angularjs 项目 <html ng-app>  : 表名这个是angularjs 项目 双大括号标记 {{ }} 的内容是问候语中绑定的表达式 Angular 模型变量 Angular 的循环 Angular 控制器 AngularJS 模块(Module) 定义了 AngularJS 应用. AngularJS 控制器(Controller) 用于控制 AngularJS 应用. ng-app指令定义了应用, ng-controller 定义了控制器. <!DOCT

初识angular体验(三)

哈喽,大家好,不知不觉又过了一个星期,感觉一周一周过得好快啊,上周的分享我们说到了angular的一个主要的特性--双向数据绑定,这周呢,我会把其他特性以代码的形式给大家介绍!! 特性二:模板 在AngularJS中,一个模板就是一个HTML文件.但是HTML的内容扩展了,包含了很多帮助你映射model到view的内容. HTML模板将会被浏览器解析到DOM中.DOM然后成为AngularJS编译器的输入.AngularJS将会遍历DOM模板来生成一些指导,即,directive(指令).所有的

初识angular体验(四)

亲们,大家好,又到了我们angular每周分享的时间啦,从这周开始呢我准备把angular的基础知识给大家讲解下,欢迎大家随时留言,一起讨论问题! 首先给大家介绍下双向数据绑定,angular的数据绑定是数据模型(model)与视图(view)组件的自动同步.angular的实现方式允许你把应用中的模型看成单一数据源.而视图始终是数据模型的一种展现形式.当模型改变时,视图就能反映这种改变,反之亦然. 下面我们先来看一段代码: <div ng-app="hd" ng-control

简话Angular 01 初识Angular 数据绑定

1. Angular有哪些突出优点 1) MVC 基于Html-Javascript 2) 依赖注入 3) 数据双向绑定,响应式页面设计 4) 模块化,自定义指令 2. 简话数据绑定 1) 代码: 1 <input type="text" ng-model="hello1"> 2 3 <input type="text" ng-model="hello2"> 4 5 <textarea ng-bi

初识angular体验(二)

不知不觉过了一周了,这期间本人也学习了几章angular的实例教程,上次的分享我说到了angular的好处以及我们为什么要用angular.今天我们来说下究竟什么时候用angular是最好的以及举一些简单的小例子. angular是一个MVC框架,最适于开发客户端的单页面应用.它不是个功能库,而是用来开发动态网页的框架.它专注于扩展HTML的功能,提供动态数据绑定,而且它能跟其它框架(如jQuery)合作融洽. 如果你要开发的是单页应用,angular就是你的上上之选.Gmail.Google