作者:arccosxy  转载请注明出处:http://www.cnblogs.com/arccosxy/

准备工作


首先,创建一个名为index.html的HTML文件,代码如下:

<!DOCTYPE html>
<head>
<title>Learning AngularJS</title>
</head>
<body> </body>
</html>

接下来就是加载angular.js库,访问https://angularjs.org/获取AngularJS最新的CDN(内容分发网络)链接,或者用下面这个链接https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js,这是Google的CDN,把它加入到head标签中:

<!DOCTYPE html>
<head>
<title>Learning AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js" type="text/javascript"></script>
</head>
<body>
<div id='content'></div>
</body>
</html>

好了,现在我们有了一个加载了AngualarJS的HTML页面,go on!

一些设置


要告诉AngularJS将这个页面渲染为一个应用,需要做几件事情。

使用ng-app告诉AngularJS应该管理页面中的哪一部分。如果你正在构建一款纯AngularJS应用,你应该把ng-app指令写在<html>标签中。这里,我们演示让AngularJS只管理页面中的一部分,简单地在DIV标签中加入ng-app="MyTutorialApp"即可。

<!DOCTYPE html>
<head>
<title>Learning AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js" type="text/javascript"></script>
</head>
<body>
<div id='content' ng-app='MyTutorialApp'></div>
</body>
</html>

现在,我们告诉了AngularJS这个DIV是一个angular应用。然后,我们需要声明使用哪一个控制器:

<!DOCTYPE html>
<head>
<title>Learning AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js" type="text/javascript"></script>
</head>
<body>
<div id='content' ng-app='MyTutorialApp' ng-controller='MainController'> </div>
</body>
</html>

MainController是我给控制器起的名字,你可以取任何更有意义的名字。Ok,现在MainController将可以控制DIV中的一切,但是这个控制器在哪?我们需要创建它!在index.html所在的目录下新建名为app.js的JS文件,内容如下:

var app = angular.module('MyTutorialApp',[]);

这个JS文件所做的是新建一个名为MyTotorialApp的AngularJS应用,并且把它赋给了变量app,我们稍后会使用到它。现在我们需要再创建一个名为maincontroller.js的文件,内容如下:

app.controller("MainController", function($scope){

});

这个文件为MyTotorialApp分配了一个名为MainController的控制器。这两个JS文件其实可以合并为一个,但为了方便维护和容易理解,我把它们拆成两个分离的文件。接下来,把这两个JS文件都加载进HTML页面中。注意,app.js需要在maincontroller.js之前被加载进来。

<!DOCTYPE html>
<head>
<title>Learning AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script>
<script src="maincontroller.js" type="text/javascript"></script>
</head>
<body>
<div id='content' ng-app='MyTutorialApp' ng-controller='MainController'> </div>
</body>
</html>

现在,我们的准备工作已经做完了,接下来看一个应用是怎样产生的。

Hello World


当我们创建maincontroller.js的时候,你可能已经注意到了$scope这个变量,它被当做控制函数的参数,是我们分配控制器变量的地方,这些变量可以在HTML页面的DIV中被使用。不明白没关系,举个栗子来说明,在控制器内声明一个$scope变量。

app.controller("MainController", function($scope){
$scope.welcome = "Hello World";
});

在上面的代码中我们新建了一个scope变量并分配一个字符串给它。接下来我们可以在HTML中访问它。

<!DOCTYPE html>
<head>
<title>Learning AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script>
<script src="maincontroller.js" type="text/javascript"></script>
</head>
<body>
<div id='content' ng-app='MyTutorialApp' ng-controller='MainController'>
{{welcome}}
</div>
</body>
</html>

我们在HTML中用{{}}(两个花括号)把welcome变量包起来,这样AngularJS就知道该处理它了。注意,在这里welcome前面没有加$scope。现在用浏览器打开index.html,你会看到如下内容:

现在你应该大致上理解scope变量了,它们通过在HTML中用双花括号{{}}来访问。同时也应该明白scope变量只在该控制器范围内有效,你不能从DIV之外访问到welcome变量。

总结


ng-app,ng-controller

$scope变量

AngularJS基础01 从HelloWorld说起的更多相关文章

  1. Java基础01 ------ 从HelloWorld到面向对象

    Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个H ...

  2. Java基础01 从HelloWorld到面向对象(转载)

    Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念. "Hello World!" public class HelloWorld{    publi ...

  3. iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试

    iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心 ...

  4. AngularJS基础入门初探

    一.AngularJS简介 1.1 什么是AngularJS (1)一款非常优秀的前端JS框架,可以方便实现MVC/MVVM模式 (2)由Misko Hevery 等人创建,2009年被Google所 ...

  5. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  6. AspectJ基础学习之三HelloWorld(转载)

    AspectJ基础学习之三HelloWorld(转载) 一.创建项目 我们将project命名为:aspectjDemo.然后我们新建2个package:com.aspectj.demo.aspect ...

  7. Androd核心基础01

    Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...

  8. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  9. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

随机推荐

  1. MAC常用软件推荐

    SQL建模 http://dbwrench.com/download/install/mac_install.shtml 参考https://github.com/helantao/macOS/blo ...

  2. IDA反汇编学习

    1 转自:http://www.cnblogs.com/vento/archive/2013/02/09/2909579.html IDA Pro是一款强大的反汇编软件,特有的IDA视图和交叉引用,可 ...

  3. Linux cut命令用法

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为: cut  [-bn] [file] 或 cu ...

  4. 10个优秀Objective-C和iOS开发在线视频教程

    如果你自己开发iOS应用,你肯定会发现网上有很多资源.学习编程的一个最好的方法就是自己写代码,而开始写代码的最快的方式就是看其他人怎么写.我们从海量视频和学习网站中整理出了我们认为对你学习Object ...

  5. C++11 正则表达式——基础知识介绍

    C++11开始支持正则表达式,使得处理文本更加简洁方便.C++11 支持六种正则表达式语法:ECMAScript, basic(POSIX Basic Regular Expressions), ex ...

  6. aaronyang的百度地图API之LBS云与.NET开发 Javascript API 2.0【把数据存到LBS云2/2】

    中国的IT 需要无私分享和贡献的人,一起努力 本篇博客来自地址:http://www.cnblogs.com/AaronYang/p/3672898.html,请支持原创,未经允许不许转载 1.新建一 ...

  7. 11G新特性 -- 收缩临时表空间

    当大任务执行完毕,并不会立即释放临时表空间.有时候通过删除然后重建临时表空间的速度可能更快.不过对于在线系统可能不会那么容易删除重建,所以11g中可以在线收缩临时表空间或单个临时数据文件. 收缩临时表 ...

  8. 深入浅出理解c++虚函数

    深入浅出理解c++虚函数   记得几个月前看过C++虚函数的问题,当时其实就看懂了,最近笔试中遇到了虚函数竟然不太确定,所以还是理解的不深刻,所以想通过这篇文章来巩固下. 装逼一刻: 最近,本人思想发 ...

  9. java证书

    默认情况下,密钥项存储在.keystore文件中,而可信的CA证书项存储在.cacerts文件中,该文件位于JRE安全目录中. 想在Linux环境下,用keytool命令检查一下一个证书,打keyto ...

  10. Spring Boot 2.0 返回JSP页面实战

    1. 模板引擎JSP的限制 在开始之前呢,我觉得我们有必要先去了解下 Spring Boot 2.0 官方文档中提到的如下内容: 模板引擎 除了REST Web服务之外,还可以使用Spring MVC ...