AngularJs  Understanding Angular Templates


Posted in Javascript onSeptember 02, 2016

angular template是一个声明规范,与model、controller的信息一起,渲染成用户在浏览器中所看到的视图。它是静态的DOM,包括HTML、CSS、angular特别的元素和angular指定的元素属性。angular元素和属性指示angular去扩展行为以及将template DOM转换为动态视图的DOM。

下面是我们可以在template中使用的angular元素已经元素属性的类型:

  1. Directive(https://3water.com/article/91739.htm) - 一个扩展现有DOM元素或者代表一个可复用的DOM组件的属性或者元素,即控件。
  2. Markup(http://code.angularjs.org/1.0.2/docs/api/ng.$interpolate) - 通过双大括号表示法{{}}来绑定表达式到元素中,是内建的angular标记。
  3. Filter(http://code.angularjs.org/1.0.2/docs/guide/dev_guide.templates.filters)- 用于格式化我们给用户看的数据。
  4. Form controls (https://3water.com/article/91744.htm)- 让我们验证用户输入。

注意:除了可以在模版中声明上面的元素以外,我们也可以在javascript代码中访问这些元素。

下面的代码片段,展示了一个简单的angular template,它由标准的HTML标签以及angular directive、花括号绑定的expression({{expression}},https://3water.com/article/91742.htm)组成。

<!DOCTYPE html>
<!--ng-app,定义应用范围,在这里创建root scop-->
<html ng-app>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title>template</title>
 <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
 <style type="text/css">
 .ng-cloak {
  display: none;
 }
 </style>
</head>
<!--
 ng-cloak,在编译后会去掉的class
 ng-controller,一个directive,用于指定当前的模版对应的Controller为MyController
-->
<body class="ng-cloak" ng-controller="MyController">

<!--
 ng-model,directive,用于指定input的值对应的model为foo。
-->
<input type="text" ng-model="foo" value=""/>
<!--
 ng-click,directive,单击后需要做的事情,可以是expression,如 buttonText = '1';
 也可以是调用函数,如下面所示。
 {{buttonText}},用于展示当前scope链中能够或得到的buttonText的值
-->
<button ng-click="changeFoo()">{{buttonText}}</button>

<script src="../angular-1.0.1.js" type="text/javascript"></script>
<script type="text/javascript">
 function MyController($scope) {
 $scope.buttonText = "默认的东东";//初始化model buttonText
 $scope.foo = "修改我吧";//初始化model foo
 $scope.changeFoo = function() {//声明changeFoo
  this.buttonText = this.foo;//将foo的值赋给buttonText
  //这里使用的this,就是指向当前$scope的。
 };
 }
</script>
</body>
</html>

在一个简单的单页应用中,模版由HTML、CSS以及angular directive组成,都包含在一个HTML文件中(通常叫它index.html)。但在一些更加复杂的应用中,我们可以在一个页面中,通过使用“partials”来显示多个视图,即将模版分段存放在独立的HTML文件中。我们可以在主页面中使用$route服务(http://code.angularjs.org/1.0.2/docs/api/ng.$route)与ngView directive(http://code.angularjs.org/1.0.2/docs/api/ng.directive:ngView)来协同“include”那些partials。这个技术的一个例子,展示在angular tutorial(http://code.angularjs.org/1.0.2/docs/tutorial/index)的第七、八步骤中。(这部分我稍后再玩-_-!)

以上就是对 AngularJs Understanding Angular Templates的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

Javascript 相关文章推荐
Packer 3.0 JS压缩及混淆工具 下载
May 03 Javascript
JavaScript 开发中规范性的一点感想
Jun 23 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
May 18 Javascript
JS上传组件FileUpload自定义模板的使用方法
May 10 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
12个非常有用的JavaScript技巧
May 17 Javascript
小发现之浅谈location.search与location.hash的问题
Jun 23 Javascript
微信小程序左滑删除功能开发案例详解
Nov 12 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
JavaScript面试技巧之数组的一些不low操作
Mar 22 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 #Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 #Javascript
AngularJs  E2E Testing 详解
Sep 02 #Javascript
解决node.js安装包失败的几种方法
Sep 02 #Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 #Javascript
AngularJs Understanding the Controller Component
Sep 02 #Javascript
JS 拼凑字符串的简单实例
Sep 02 #Javascript
You might like
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
python tornado修改log输出方式
2019/11/18 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
正隆泰信息技术有限公司上机题
2012/06/14 面试题
shell变量的作用空间是什么
2013/08/17 面试题
简历中求职的个人自我评价
2013/12/03 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
老公保证书范文
2014/04/29 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
爱国主义主题班会
2015/08/14 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers