我一直在阅读Angular 网站上的 Angular 1 到 2 快速参考,我不完全理解的一件事是这些特殊字符之间的区别。例如一个使用星号的:
<tr *ngFor="#movie of movies"> <td>{{movie.title}}</td> </tr>
我在这里理解井号 (#) 符号定义movie为本地模板变量,但前面的星号ngFor是什么意思?而且,有必要吗?
movie
ngFor
接下来是使用括号的示例:
<a [routerLink]="['Movies']">Movies</a>
我有点理解,括号routerLink将它绑定到那个 HTML 属性/Angular 指令。这是否意味着它们是 Angular 评估表达式的指针?就像[id]="movieId"在id="movie-{{movieId}}"Angular 1中一样?
routerLink
[id]="movieId"
id="movie-{{movieId}}"
最后是括号:
<button (click)="toggleImage($event)">
这些是否仅用于 DOM 事件,我们可以使用其他事件,例如(load)="someFn()"or(mouseenter)="someFn()"吗?
(load)="someFn()"
(mouseenter)="someFn()"
我想真正的问题是,这些符号在 Angular 2 中是否有特殊含义,知道 何时使用每个 符号的最简单方法是什么?谢谢!!
所有细节都可以在这里找到:https ://angular.io/docs/ts/latest/guide/template- syntax.html
directiveName- 是结构指令的简写形式,其中长形式只能应用于<template>标签。简短的形式隐含地将它应用到的元素包装在<template>.
directiveName
<template>
[prop]="value"用于将对象绑定到属性(@Input()Angular 组件或指令或 DOM 元素的属性)。 有特殊形式:
[prop]="value"
@Input()
[class.className]
[style.stylePropertyName]
[style.stylePropertyName.px]
[attr.attrName]
[role.roleName]
prop="{{value}}"
(event)="expr"将事件处理程序绑定到一个@Output()或 DOM 事件
(event)="expr"
@Output()
#var或#var根据上下文具有不同的功能
#var
在一个*ngFor="#x in y;#i=index"范围内创建迭代变量 (在 beta.17 中,这被更改为 *ngFor=”let x in y; let i=index”`)
*ngFor="#x in y;#i=index"
在 DOM 元素<div #mydiv>上对该元素的引用
<div #mydiv>
exportAs:"ngForm"
#myVar="ngForm"