Angular2组件开发—模板语法(一)

最简单的模板

组件的View注解用来声明组件的外观,它最重要的属性就是template - 模板。 Angular2的模板是兼容HTML语法的,这意味着你可以使用任何标准的HTML标签编写 组件模板。

所以,在最简单的情况下,一个Angular2组件的模板由标准的HTML元素构成,看起来就是 一段HTML码流。Angular2将原封不同地渲染这段模板:

有两种方法为组件指定渲染模板:

1. 内联模板

可以使用组件的View注解中的template属性直接指定内联模板:

1 @View({
2     template : `<h1>hello</h1>
3                 <div>...</div>`
4 })

在ES6中,使用一对`符号就可以定义多行字符串,这使得编写内联的模板轻松多了。

2. 外部模板

也可以将模板写入一个单独的文件:

1 <!--ezcomp-tpl.html-->
2 <h1>hello</h1>
3 <div>...</div>

然后在定义组件时,使用templateUrl引用外部模板

@View({
    templateUrl : "ezcomp-tpl.html"
})

例如:

 1 <!doctype html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>template - standard HTML</title>
 6     <script type="text/javascript" src="lib/system@0.16.11.js"></script>
 7     <script type="text/javascript" src="lib/angular2.dev.js"></script>
 8     <script type="text/javascript" src="lib/system.config.js"></script>
 9 </head>
10 <body>
11     <ez-app></ez-app>
12     <script type="module">
13         import {Component,View,bootstrap} from "angular2/angular2";
14         
15         @Component({selector : "ez-app"})
16         @View({
17             template : `
18                 <h1>Hello,Angular2</h1>
19                 <p>
20                     使用ES6开发Angular2应用的一个好处就是,可以不用拼接模板字符串了。
21                 </p>
22                 
23                 输入文本框:<input type="text" name="firstname"><br />
24                 添加的按钮:<button type="button">按钮</button>
25                 
26                 <ul>
27                     <li>在模板中可以使用任何标准的HTML元素</li>
28                     <li>如果模板定义在单独的文件里,可以使用templateUrl引入</li>
29                 </ul>
30             `
31         })
32         class EzApp{}
33         
34         bootstrap(EzApp);
35     </script>
36 </body>
37 </html>
posted @ 2015-12-10 17:12  X-USER  阅读(2090)  评论(0编辑  收藏  举报