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 相关文章推荐
基于JQuery实现CheckBox全选全不选
Jun 27 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
JSON+JavaScript处理JSON的简单例子
Mar 20 Javascript
Javascript简单实现可拖动的div
Oct 22 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
json实现添加、遍历与删除属性的方法
Jun 17 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
Jun 21 Javascript
VUE开发一个图片轮播的组件示例代码
Mar 06 Javascript
javascript中new Array()和var arr=[]用法区别
Dec 01 Javascript
使用vue-cli编写vue插件的方法
Feb 26 Javascript
解决bootstrap模态框数据缓存的问题方法
Aug 10 Javascript
vue 弹出遮罩层样式实例
Jul 22 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
PHP中其实也可以用方法链
2011/11/10 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
工业自动化毕业生自荐信范文
2014/01/04 职场文书
艺术节主持词
2014/04/02 职场文书
党的群众路线学习材料
2014/05/16 职场文书
迟到检讨书范文
2015/01/27 职场文书
大班下学期个人总结
2015/02/13 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
2016年教师节慰问信
2015/12/01 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python