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 相关文章推荐
jquery中实现标签切换效果的代码
Mar 01 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
Sep 27 Javascript
vue watch监听对象及对应值的变化详解
Feb 24 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
详解angular应用容器化部署
Aug 14 Javascript
快速解决vue-cli在ie9+中无效的问题
Sep 04 Javascript
ES6 Map结构的应用实例分析
Jun 26 Javascript
React路由鉴权的实现方法
Sep 05 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
Jul 26 Javascript
浅谈Ant Design Pro 菜单自定义 icon
Nov 17 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开发大型项目的一点经验
2006/10/09 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
jQuery中读取json文件示例代码
2013/05/10 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
微信小程序实现选项卡效果
2018/11/06 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
layUI实现列表查询功能
2019/07/27 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
期末学生评语大全
2014/04/24 职场文书
领导班子四风表现材料
2014/08/23 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
技术股份合作协议书
2014/10/05 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
中职班主任培训心得体会
2016/01/07 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS