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 相关文章推荐
深入分析js中的constructor和prototype
Apr 07 Javascript
在javascript中对于DOM的加强
Apr 11 Javascript
图标线性回归斜着移动到指定的位置
Aug 16 Javascript
jquery简单实现鼠标经过导航条改变背景图
Dec 17 Javascript
JavaScript Function函数类型介绍
Apr 08 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
自制简易打赏功能的实例
Sep 02 Javascript
JavaScript解析机制与闭包原理实例详解
Mar 08 Javascript
详解微信小程序回到顶部的两种方式
May 09 Javascript
微信用户访问小程序的登录过程详解
Sep 20 Javascript
vue学习笔记之Vue中css动画原理简单示例
Feb 29 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 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
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
韩国现代百货官网:Hmall
2018/03/21 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
电大自我鉴定范文
2013/10/01 职场文书
违反学校规定检讨书
2014/01/18 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书