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 相关文章推荐
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Oct 24 Javascript
jQuery Ajax调用WCF服务详细教程
Mar 31 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
原生实现一个react-redux的代码示例
Jun 08 Javascript
如何理解Vue的v-model指令的使用方法
Jul 19 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
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
关于页面优化和伪静态
2009/10/11 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
JavaScript类的写法
2016/09/17 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
Python与Redis的连接教程
2015/04/22 Python
浅谈MySQL中的触发器
2015/05/05 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
党员个人思想汇报
2013/12/28 职场文书
租房合同协议书
2014/04/09 职场文书
家长会演讲稿
2014/04/26 职场文书
文案策划专业自荐信
2014/07/07 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
党员群众路线对照检查材料
2014/08/31 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle
MySQL数据库表约束讲解
2022/06/21 MySQL