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 相关文章推荐
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
Apr 20 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
JS面向对象编程 for Cookie
Sep 19 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
Jul 11 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
input:checkbox多选框实现单选效果跟radio一样
Jun 16 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 Javascript
AngularJS 的$timeout服务示例代码
Sep 21 Javascript
javascript变量提升和闭包理解
Mar 12 Javascript
vue 插件的方法代码详解
Jun 06 Javascript
JavaScript实现H5接金币功能(实例代码)
Feb 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中的UNICODE 编码与解码
2013/06/29 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
JS高级笔记
2011/07/13 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
JS继承用法实例分析
2015/02/05 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
图解javascript作用域链
2019/05/27 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
详细分析python3的reduce函数
2017/12/05 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
详解python之协程gevent模块
2018/06/14 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
详解python中@的用法
2019/03/27 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
Python爬虫教程知识点总结
2020/10/19 Python
印度服装购物网站:Limeroad
2018/09/26 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
给老师的一封建议书
2014/03/13 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS
Oracle中日期的使用方法实例
2022/07/07 Oracle