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 相关文章推荐
AJAX架构之Dojo篇
Apr 10 Javascript
javascript ie6兼容position:fixed实现思路
Apr 01 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
JQuery插件Marquee.js实现无缝滚动效果
Apr 26 Javascript
js 获取经纬度的实现方法
Jun 20 Javascript
JavaScript中最常用的10种代码简写技巧总结
Jun 28 Javascript
JS实现遍历不规则多维数组的方法
Mar 21 Javascript
vue 巧用过渡效果(小结)
Sep 22 Javascript
javascript头像上传代码实例
Sep 28 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
一个分页的论坛
2006/10/09 PHP
php 执行系统命令的方法
2009/07/07 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
项目实践之javascript技巧
2007/12/06 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
文案策划求职信
2014/03/18 职场文书
高考励志标语
2014/06/05 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL