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 相关文章推荐
服务器安全设置的几个注册表设置
Jul 28 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 Javascript
动态改变div的z-index属性的简单实例
Aug 08 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
jquery.cookie.js使用指南
Jan 05 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
Jun 13 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
解决vue+element 键盘回车事件导致页面刷新的问题
Aug 25 Javascript
tsconfig.json配置详解
May 17 Javascript
解析原来浏览器原生支持JS Base64编码解码
Aug 12 Javascript
vue实现文件上传读取及下载功能
Nov 17 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
Aug 28 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乱码问题
2012/03/25 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
php支付宝APP支付功能
2020/07/29 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
js内置对象 学习笔记
2011/08/01 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
python基础教程之获取本机ip数据包示例
2014/02/10 Python
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python 整数越界问题详解
2019/06/27 Python
Python3 元组tuple入门基础
2020/02/09 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
建筑文秘专业个人求职信范文
2013/12/28 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
教师个人自我评价范文
2014/04/13 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js