1.下载angularjs

进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.js

所有版本:https://code.angularjs.org/

2.示例1

HelloWorld !

新建一个helloworld.html

<!doctype html>
<html ng-app>
<head>
<script src="angular.js"></script>
</head>
<body>
Hello {{'World'}}!
</body>
</html>

然后将下载的angular.js拷到与helloworld.html的同一目录

效果如下所示:

3.helloworld.html代码说明

标记ng-app告诉AngularJS处理整个HTML页并引导应用:

<htmlng-app>

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

Hello {{'World'}}!

4.示例2

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

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

源代码

<!doctype html>
<html ng-app>
<head>
<script src="angular.js"></script>
</head>
<body>
Your name: <input type="text" ng-model="yourname" placeholder="World"><hr>
Hello {{yourname || 'World'}}!
</body>
</html>

效果:

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

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

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

5.angularjs框架简介

模板(Templates)

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

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

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

模型数据(Data)

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

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

6.ubuntu 12.04下安装nodejs、npm和karma

1)安装nodejs

直接输入命令sudo apt-get install nodejs 安装的是0.6版本的,这个会出现问题,导致接下来安装js测试工具karma,出现问题.

所以用下载安装自己编译的方式,http://nodejs.org/download/,我这里下载的是http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz

然后,执行命令

tar zxvf node-v0.10.26.tar.gz
cd node-v0.10.26
./configure
make
sudo make install

这样直接编译会出错!!

必须先把其依赖环境搭建好,必须先执行如下命令:

sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core

git如果已经安装则不需要再安装了.

当然也可从github上直接clone了,即使用如下命令:

git clone git://github.com/ry/node.git
cd node
./configure
make
sudo make install

测试是否成功???

amosli@amosli-pc:~$ node --version
v0.10.26

查看版本是否正确,这里是正确的.

2)安装npm

sudo apt-get install npm

3)安装karma

sudo npm install -g karma

只要安装nodejs正确,那么后两步将会十分顺利.

否则安装karma时将会报如下的错误:

amosli@amosli-pc:~$ sudo npm install -g karma
npm http GET https://registry.npmjs.org/karma npm ERR! Error: failed to fetch from registry: karma
npm ERR! at /usr/share/npm/lib/utils/npm-registry-client/get.js::
npm ERR! at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js::)
.....

karma以前叫testacular,是js的测试框架.

安装nodejs时参考了:http://howtonode.org/how-to-install-nodejs

如果还报错,那么可以执行以下命令试试,注册npm:

npm config set registry http://registry.npmjs.org/

Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma的更多相关文章

  1. ubuntu 12.04下安装Qt出现cannot execute binary file的解决方案

    最近在ubuntu 12.04下安装QT的过程中,遇到一个问题. ./qt-opensource-linux-x64-5.7.0.run出现了bash: ./qt-opensource-linux-x ...

  2. Ubuntu 12.04 下安装 Eclipse

    方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...

  3. Ubuntu 12.04下安装QQ 2012 Beta3(转)

    Ubuntu 12.04下安装QQ 2012 Beta3   由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...

  4. [转载] Ubuntu 12.04下安装git,SSH及出现的Permission denied解决办法

    如何安装ssh http://os.51cto.com/art/201109/291634.htm 仅需要阅读至成功开启ssh服务即可 http://www.linuxidc.com/Linux/20 ...

  5. Ubuntu 12.04下安装QQ 2012 Beta3

    Ubuntu 12.04下安装QQ 2012 Beta3   由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...

  6. Ubuntu 12.04下安装OpenCV 2.4.2

    http://sourceforge.net/projects/opencvlibrary/files/ Ubuntu 12.04下安装OpenCV 2.4.2 http://blog.csdn.ne ...

  7. Ubuntu 12.04下安装配置体验GNOME 3(转载)

    转自:http://www.tuicool.com/articles/zIbeIj 自己并不是一个思想前卫的人,穿衣审美也都是大众眼光.但是唯独喜欢在计算机方便尝试最新,心肝情愿的做小白鼠.近日,按耐 ...

  8. Ubuntu 12.04 下安装 VirtualBox 及虚拟机winxp的安装

    参考文档: http://wenku.baidu.com/view/a51ac26c9b6648d7c1c746d7.html 1.首先,先去官网(http://www.virtualbox.org) ...

  9. ubuntu 12.04下安装openldap,slapd.conf找不到的解决方法

    https://help.ubuntu.com/12.04/serverguide/openldap-server.html ubuntu安装openldap经历了一系列挫折,网上找了半天资料都是一模 ...

随机推荐

  1. Windows安装包制作指南——Advanced Installer的使用

    1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供 ...

  2. Java多线程——同步(一)

    好习惯要坚持,这是我第二篇博文,任务略重,但是要坚持努力!!! 1.竞争条件 首先,我们回顾一下<Java核心技术卷>里讲到的多线程的"竞争条件".由于各线程访问数据的 ...

  3. LINQ查询操作符之Select、Where、OrderBy、OrderByDescending、GroupBy、Join、GroupJoin及其对应的查询语法

    介绍    ·Select - Select选择:延迟    ·Where - Where查询:延迟    ·OrderBy - 按指定表达式对集合正序排序:延迟    ·OrderByDescend ...

  4. Null modem接线

    1.6 <-> 4 2 <-> 3 3 <-> 2 4 <-> 1.6 5 <-> 5 7 <-> 8 8 <-> ...

  5. SQL 之witn as语法

    with as 是临时视图的语法:with qry_a as (select * from table_a )select * from qry_a ;

  6. unity3d c#调用控件属性

    GUIText控件wenzi text 属性值 GameObject.Find("wenzi").guiText.text="修改内容"; 把你要获取的变量权限 ...

  7. php创建多级目录的两种方法

    1.使用递归的思想 function mkdirs_2($path){ if(!is_dir($path)){ mkdirs_2(dirname($path)); if(!mkdir($path, 0 ...

  8. 剑指Offer:面试题22——栈的压入,弹出序列(java实现)

    题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈 ...

  9. IQ推理:红眼睛和蓝眼睛

    题目:  有一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什么不同,小孩在没生出来之前,没人知道他是什么颜色的眼睛,这个村子中间有一个广 场,是村民们聚集的地方,现在这个村子只有 ...

  10. php数组转换成json格式。

    { "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0t ...