AngularJS入门教程之Hello World!


Posted in Javascript onDecember 06, 2014

开始学习AngularJS的一个好方法是创建经典应用程序“Hello World!”:

1.使用您喜爱的文本编辑器,创建一个HTML文件,例如:helloworld.html。
2.将下面的源代码复制到您的HTML文件。
3.在web浏览器中打开这个HTML文件。

源代码:

<!doctype html>

<html ng-app>

    <head>

        <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>

    </head>

    <body>

        Hello {{'World'}}!

    </body>

</html>

请在您的浏览器中运行以上代码查看效果。

现在让我们仔细看看代码,看看到底怎么回事。 当加载该页时,标记ng-app告诉AngularJS处理整个HTML页并引导应用:

<html ng-app>

这行载入AngularJS脚本:

<script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>

(想了解AngularJS处理整个HTML页的细节,请看Bootstrap。)

最后,标签中的正文是应用的模板,在UI中显示我们的问候语:

Hello {{'World'}}!

注意,使用双大括号标记{{}}的内容是问候语中绑定的表达式,这个表达式是一个简单的字符串‘World'。

下面,让我们看一个更有趣的例子:使用AngularJS对我们的问候语文本绑定一个动态表达式。

Hello AngularJS World!

本示例演示AngularJS的双向数据绑定(bi-directional data binding):

1.编辑前面创建的helloworld.html文档。
2.将下面的源代码复制到您的HTML文件。
3.刷新浏览器窗口。

源代码:

<!doctype html>

<html ng-app>

    <head>

        <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>

    </head>

    <body>

        Your name: <input type="text" ng-model="yourname" placeholder="World">

        <hr>

        Hello {{yourname || 'World'}}!

    </body>

</html>

请在您的浏览器中运行以上代码查看效果。

该示例有一下几点重要的注意事项:

1.文本输入指令<input ng-model="yourname" />绑定到一个叫yourname的模型变量。
2.双大括号标记将yourname模型变量添加到问候语文本。
3.你不需要为该应用另外注册一个事件侦听器或添加事件处理程序!

现在试着在输入框中键入您的名称,您键入的名称将立即更新显示在问候语中。 这就是AngularJS双向数据绑定的概念。 输入框的任何更改会立即反映到模型变量(一个方向),模型变量的任何更改都会立即反映到问候语文本中(另一方向)。

AngularJS应用的解析

本节描述AngularJS应用程序的三个组成部分,并解释它们如何映射到模型-视图-控制器设计模式:

模板(Templates)

模板是您用HTML和CSS编写的文件,展现应用的视图。 您可给HTML添加新的元素、属性标记,作为AngularJS编译器的指令。 AngularJS编译器是完全可扩展的,这意味着通过AngularJS您可以在HTML中构建您自己的HTML标记!

应用程序逻辑(Logic)和行为(Behavior)

应用程序逻辑和行为是您用JavaScript定义的控制器。AngularJS与标准AJAX应用程序不同,您不需要另外编写侦听器或DOM控制器,因为它们已经内置到AngularJS中了。这些功能使您的应用程序逻辑很容易编写、测试、维护和理解。

模型数据(Data)

模型是从AngularJS作用域对象的属性引申的。模型中的数据可能是Javascript对象、数组或基本类型,这都不重要,重要的是,他们都属于AngularJS作用域对象。

AngularJS通过作用域来保持数据模型与视图界面UI的双向同步。一旦模型状态发生改变,AngularJS会立即刷新反映在视图界面中,反之亦然。

此外,AngularJS还提供了一些非常有用的服务特性:

1.底层服务包括依赖注入,XHR、缓存、URL路由和浏览器抽象服务。
2.您还可以扩展和添加自己特定的应用服务。
3.这些服务可以让您非常方便的编写WEB应用。

Javascript 相关文章推荐
学习ExtJS Panel常用方法
Oct 07 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
js对字符的验证方法汇总
Feb 04 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
Mar 24 Javascript
Angular.JS中的指令引用template与指令当做属性详解
Mar 30 Javascript
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
angularjs中的$eval方法详解
Apr 24 Javascript
vue元素实现动画过渡效果
Jul 01 Javascript
使用pm2部署node生产环境的方法步骤
Mar 09 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 Javascript
JavaScript多种滤镜算法实现代码实例
Dec 10 Javascript
JavaScript中的Web worker多线程API研究
Dec 06 #Javascript
JavaScript实现的一个日期格式化函数分享
Dec 06 #Javascript
JavaScript实现twitter puddles算法实例
Dec 06 #Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 #Javascript
angularjs中的e2e测试实例
Dec 06 #Javascript
angularjs中的单元测试实例
Dec 06 #Javascript
angularjs指令中的compile与link函数详解
Dec 06 #Javascript
You might like
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
js中复制行和删除行的操作实例
2013/06/25 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
Vue——前端生成二维码的示例
2020/12/19 Vue.js
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
2013年入党人员的自我鉴定
2013/10/25 职场文书
酒店前台接待岗位职责
2013/12/03 职场文书
爱心活动计划书
2014/04/26 职场文书
党员领导干部承诺书
2014/05/28 职场文书
模特大赛策划方案
2014/05/28 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
收入证明怎么写
2015/06/12 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python