angular.js快速入门 hello world
我们整个系列的学习会去写一个简单blog雏形,如果有精力再完善美化.
但是这篇还是要从HelloWorld开始学习.
angular.js 文件加载我们选用 bootstrap中文网提供的一个cdn服务.
我们找到 1.3.8的angular.js cdn地址,引用到页面 index.html中
http://cdn.bootcss.com/angular.js/1.3.8/angular.min.js
初识 angular.js :
它是一个前端的MVC框架,对应 模型,视图,控制器.
页面根据指令运行,angular.js 内置了很多指令,随后的学习中会逐渐应用到,还可以自己定义自己的指令.
最简单的单页面如下:
<!DOCTYPE html>
<html ng-app>
<head>
<script src="http://cdn.bootcss.com/angular.js/1.3.8/angular.min.js"></script>
<title>一介布衣</title>
<base href="/" />
</head>
<body>
</body>
</html>
这个简单的页面已经可以运行 angular.js
我们首先看到 最上方的指令 ng-app ,这个指令告诉我们 angular.js 要接管 <html>….</html> 之间的部分.
那么这个节点之间我们出现的所有指令都会被处理.
下来来个简单的 Hello World!,非常简单.
在<body>....</body> 之间为视图区.
angular.js 中定义 {{ }} 2个{}之间的数据为模型数据,就是说,{{模型数据}} 之间定义的数据是来自模型,之间的数据也可以改变模型,这就是双向绑定的意思,模型可以改变视图,视图可以改变模型.
既然这个简单的页面我们没有定义控制器,那么我们如何取到当前模型的数据呢?没有办法取到.
但是,因为是双向绑定,所以我们可以改变模型,就是给模型赋值.
<body>
<span>{{name='hello world!'}}</span>
</body>
我们在body 标签中新加span ,span的内容区给当前模型定义一个属性 name,并且赋值 hello world.
既然是双向绑定,我们赋值的变量,是不是可以在视图中再直接使用变量呢?
<body>
<span>{{name='hello world!'}}</span>
<a style="color:red;">{{name}}</a>
</body>
如图所见,我们直接在 a标签中使用 {{name}} 变量,直接显示出来上面赋值的 "hello world!"
下面我们再看一种双向绑定, ng-model 指定模型参数.
<body>
<input type="text" ng-model="name" />
显示文字,{{name}}
</body>
我们看到 input 绑定到了模型 name 参数上,所以input 的value 变化直接导致 模型中的name 值在变化.这和 {{name='hello world!'}} 类似.
而下面我们通用使用 {{name}} 让视图绑定模型,因为模型的改变导致视图实时变化.
但是上面这种视图绑定有一点点弊端,就是当页面加载卡顿或者加载augular.js失败,导致ng-app 节点中间的绑定没有被angular.js 及时处理.结果用户会在页面上直接看到这种表示符 {{name}} ,这是很不友好的,我们下面看另外一种绑定 ng-bind 指令.
<body>
<input type="text" ng-model="name" />
显示文字,<span ng-bind="name" ></span>
</body>
上面同样达到双向绑定的效果,实时变化.
这一切的一切,我们竟然没有通过js去操作一个dom ,这就是 angular.js 吸引人的地方.
angular.js快速入门 hello world的更多相关文章
- Node.js快速入门
Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...
- Angular JS从入门基础 mvc三层架构 常用指令
Angular JS从入门基础 mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...
- Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二)
Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二) 前言 上篇文章对Vue.js有了初步理解,接下来我们把Vue.js基础语法快速的过一遍,先混个脸熟留个印象就 ...
- JS快速入门(二)
目录 JS快速入门(二) 结构图 BOM window对象 open() window子对象 location对象 history对象(了解) navigator 对象 screen对象 BOM 定时 ...
- Vue.js 快速入门
什么是Vue.js vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API.作者是尤雨溪,写下这篇文章时vue.js版本为1.0.7 准备 我推荐 ...
- Vue.js快速入门
Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们 ...
- Vue.js—快速入门
Vue.js是什么 Vue.js 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目 ...
- Vue.js——快速入门
Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使 ...
- Vue.js—快速入门及实现用户信息的增删
Vue.js是什么 Vue.js 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目 ...
随机推荐
- Angular路由与Nodejs路由的区别
转自:http://www.imooc.com/qadetail/114683?t=148182 觉得angualr.js的路由是针对于单页面的路由,每次路由发生变化,只是页面的状态发生变化,页面本身 ...
- Postfix接收邮件后转向运行特定的脚本
本文主要參考:http://serverfault.com/questions/258469/how-to-configure-postfix-to-pipe-all-incoming-email-t ...
- 【Nodejs】理想论坛帖子爬虫1.01
用Nodejs把Python实现过的理想论坛爬虫又实现了一遍,但是怎么判断所有回调函数都结束没有好办法,目前的spiderCount==spiderFinished判断法在多页情况下还是会提前中止. ...
- 创建一个pre标签展开折叠的UI组件(原创)
这些天练习UI组件的编写,顺便模仿一个h5版本的pre标签收缩展开的效果组件: 兼容ie8.9,谷歌,火狐: 图片效果如下: demo.html代码: <!DOCTYPE html> &l ...
- shell命令xargs解析
1.多行变成单行 -bash-3.2# cat test.txt a b c d e f g o p q -bash-3.2# cat test.txt |xargs a b c d e f g o ...
- Eclipse.ini參数设置(Maven Integration for Eclipse JDK Warning)
安装EclipseMaven插件后,Eclipse启动问题:Maven Integration for Eclipse JDK Warning. 解决方法: 1. 设置Eclipse使用的JRE为本 ...
- WebService 之 身份验证
在项目开发,我们经常会使用WebService,但在使用WebService时我们经常会考虑到了WebService是安全问题,很容易想到通过一组用户名与密码来防止非法用户的调用 . 一.Networ ...
- c#实现验证码功能(多种模式下分别实现验证功能)详细,带注释
网上找了很多验证相关的代码,发现有很多瑕疵.现在本人整理测试了一个实现验证码功能的代码,里面有纯数字,纯英文,英文和数字混合等三种模式.并且在必要地方都已经备有注释,希望可以帮到那些需要的人. 验证码 ...
- 关于"引用"的几点说明
一.引用的基本知识 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样.引用的声明方法:类型标识符 &引用名=目标变量名: 说明: (1)&在此不是求地址运算,而 ...
- org.apache.commons.lang.StringUtils中isEmpty和isBlank的区别
public static boolean isEmpty(String str) 判断某字符串是否为空,为空的标准是str==null或str.length()==0 StringUtils.isE ...