AngularJS(二):ng-app指令、表达式
本文也同步发表在我的公众号“我的天空”

ng-app指令
AngularJS指令是扩展的HTML属性,所有指令均带有前缀“ng-”,我们学习的第一个指令便是ng-app,其定义了AngularJS管理的HTML范围,可以将其想象为“作用域”,只有在添加了ng-app指令的元素中,才能应用AngularJS。如果打算将全部页面应用在AngularJS下,则可以在html标签里加上ng-app指令,如以下代码:
<html ng-app>
....
</html>
如果仅仅是在页面的某一部分应用AngularJS,那么可将ng-app指令加在具体HTML元素上,如以下只在第一个DIV内应用AngularJS:
<html>
<div ng-app>
....
</div>
<div>
....
</div>
</html>
ng-app可以为其命名,如ng-app="myApp",这个时候便可以通过名称来引用,就像我们之前的演示代码一样,甚至也可以直接写成ng-app=""。
表达式
在AngularJS中,使用表达式将数据绑定在HTML中,并且其与Javascript表达式很相似。AngularJS将表达式用双大括号包裹后嵌入到HTML中,如以下代码将显示10:
<body ng-app>
<div>{{3+7}}</div>
<body>
当然在实际情况中,我们基本不会直接在表达式里写常量,观察在上一讲中的示例代码,我们在表达式中写了一个变量“test”,同时使用ng-init指令为该变量赋予初值,以下代码将使div的内容显示为"hello":
<body ng-app ng-init="test='hello'">
<div>{{test}}</div>
</body>
我们也可以使用ng-init为多个变量赋初值,多个变量之间用分号隔开:
<body ng-app ng-init="a='hello';b='angularJS'">
<div>{{a}}</div>
<div>{{b}}</div>
</body>
在实际应用中,我们一般不大会使用ng-init来为变量赋初值,在后面的控制器一章中将学习更好的初始化数据的方法。
AngularJS的表达式可以支持多种数据类型,包括数字、字符串、对象、数组等,以下代码分别展示:
AngularJS数字:
<body ng-app ng-init="a=10">
<div>{{a}}</div>
</body>
AngularJS字符串:
<body ng-app ng-init="a='Hello AngularJS'">
<div>{{a}}</div>
</body>
AngularJS数组(显示“王五”):
<body ng-app ng-init="names=['张三','李四','王五']">
<div>{{names[2]}}</div>
</body>
AngularJS对象(显示“男”):
<body ng-app ng-init="people={name:'张三',sex:'男',age:18}">
<div>{{people.sex}}</div>
</body>
AngularJS表达式与Javascript表达式的相同之处在于其可以包含字母、操作符和变量,不同之处在于它可以写在HTML中,另外也不支持条件判断、循环、异常等。
该系列的示例代码
https://github.com/panyongwow/angularJS
AngularJS(二):ng-app指令、表达式的更多相关文章
- 走进AngularJs(二) ng模板中常用指令的使用方式
通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...
- AngularJS 二 指令介绍
初始化AngularJS框架 ng-app指令: 在NG-程序指令是AngularJS应用程序的起点.它自动初始化AngularJS框架.AngularJS框架将在加载整个文档之后首先检查HTML文档 ...
- angularjs 创建自定义的指令
创建自定义的指令 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 你可以使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTMl 元素上需要添加自定义指令名 ...
- 带你走近AngularJS - 创建自己定义指令
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自己定义指令 ------------ ...
- 带你走近AngularJS 之创建自定义指令
带你走近AngularJS 之创建自定义指令 为什么使用AngularJS 指令? 使用过 AngularJS 的朋友应该最感兴趣的是它的指令.现今市场上的前端框架也只有AngularJS 拥有自定义 ...
- AngularJS:directive自定义的指令
除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 你可以使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTML 元素上需要添加自定义指令名. 使用驼峰法来命 ...
- AngularJS常用插件与指令收集
angularjs 组件列表 bindonce UI-Router Angular Tree angular-ngSanitize模块-$sanitize服务详解 使用 AngularJS 开发一个大 ...
- mvvm,如何解析一个指令表达式?
如何解析一个指令表达式? v-model="msg==='abc'?'1':a" 完美的解决方案 1,with(vm){ return new Function('vm',exp) ...
- Flask + vue 前后端分离的 二手书App
一个Flask + vue 前后端分离的 二手书App 效果展示: https://blog.csdn.net/qq_42239520/article/details/88534955 所用技术清单 ...
- App架构师实践指南二之App开发工具
App架构师实践指南二之App开发工具 1.Android Studio 2.编译调试---条件断点.右键单击断点,在弹出的窗口中输入Condition条件.---日志断点.右键单击断点,在弹 ...
随机推荐
- codevs2189数字三角形w——最优性转化
题目:http://codevs.cn/problem/2189/ 通过增加一维,将最优性转化为可行性. 代码如下: #include<iostream> #include<cstd ...
- 更换mysql数据目录后出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法
服务器上的mysql默认数据目录为/var/lib/mysql/,同时服务器的/空间不是很大,而近期又有大量的日志需要导入进行分析,时常搞得/的空间捉襟见肘,晚上一狠心就想把mysql的数据目录转移到 ...
- python使用uuid生成唯一id或str
介绍: UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 使用: import uuid print uuid.uuid1() 14bfe806-f1c7-11e6-83b5-0680 ...
- 重学JAVA基础(一):PATH和CLASSPATH
我想大多数Java初学者都会遇到的问题,那就是怎么配置环境,执行java -jar xxx.jar 都会报NoClassDefFindError,我在最开始学习的时候,也遇到了这些问题. 1.PAT ...
- No overload for 'OnStartup' matches delegate 'System.Windows.StartupEventHandler'
No overload for 'OnStartup' matches delegate 'System.Windows.StartupEvent ...
- jquery/原生js/css3 实现瀑布流以及下拉底部加载
思路: style: <style type="text/css"> body,html{ margin:; padding:; } #container{ posit ...
- 关于REST的一些想法
REST and RESTful 最近入手了REST,谈谈自己的体会. 所谓REST, 我觉得是一种网址的设计风格.过去我们用Struts 或Spring MVC 时从来没有考虑过URL的设计风格.所 ...
- CF-845C
C. Two TVs time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- C#API接口调试工具
自从去年软件界网站开发推崇前后端分离,我们公司也在进行转行行,从原先的前端架构,后端架构,数据库搭建一肩挑的模式也逐渐转型为前后端分离,大量招收前端开发人员,原来的人员也转型为专职的后端开发,这样的变 ...
- 开源:基于Android的室内定位WiFi,iBeacon数据采集和定位脚本
最近有同学联系我,也在一些群里看到有新手同学挣扎在怎么获取定位数据,不知从何下手.所以整理并开源这个基于Android的数据采集软件和基于python的KNN定位demo,算是为新手同学建立一个Bas ...