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 相关文章推荐
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
JavaScript闭包函数访问外部变量的方法
Aug 27 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
Mar 13 Javascript
利用jQuery和CSS将背景图片拉伸
Oct 16 Javascript
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
你可能不知道的前端算法之文字避让(inMap)
Jan 12 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
JS判断用户用的哪个浏览器实例详解
Oct 09 Javascript
微信小程序使用wxParse解析html的方法示例
Jan 17 Javascript
vue踩坑记录之数组定义和赋值问题
Mar 20 Javascript
Nuxt的路由配置和参数传递方式
Nov 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 str_replace的替换漏洞
2008/03/15 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Fabric 应用案例
2016/08/28 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
接口的多继承会带来哪些问题
2015/08/17 面试题
出国留学自荐信
2013/10/25 职场文书
升旗仪式主持词
2014/03/19 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
优秀员工演讲稿
2019/06/21 职场文书
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis