欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AngularJs Understanding Angular Templates

程序员文章站 2023-11-13 12:19:22
  angular template是一个声明规范,与model、controller的信息一起,渲染成用户在浏览器中所看到的视图。它是静态的dom,包括html、css、...

  angular template是一个声明规范,与model、controller的信息一起,渲染成用户在浏览器中所看到的视图。它是静态的dom,包括html、css、angular特别的元素和angular指定的元素属性。angular元素和属性指示angular去扩展行为以及将template dom转换为动态视图的dom。

  下面是我们可以在template中使用的angular元素已经元素属性的类型:

  1. directive() - 一个扩展现有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 ()- 让我们验证用户输入。

  注意:除了可以在模版中声明上面的元素以外,我们也可以在javascript代码中访问这些元素。

  下面的代码片段,展示了一个简单的angular template,它由标准的html标签以及angular directive、花括号绑定的expression({{expression}},)组成。

<!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的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!