我一直在Angular网站上阅读Angular 1到2的快速参考,有一点我不完全理解这些特殊字符之间的区别.例如,使用星号的一个:
<tr *ngFor="#movie of movies">
<td>{{movie.title}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我在这里理解哈希(#)符号定义movie为本地模板变量,但之前的星号ngFor是什么意思?而且,有必要吗?
接下来是使用括号的示例:
<a [routerLink]="['Movies']">Movies</a>
Run Code Online (Sandbox Code Playgroud)
我有点明白,括号周围routerLink将它绑定到HTML属性/ Angular指令.这是否意味着它们是Angular评估表达式的指针?就像[id]="movieId"是相当于id="movie-{{movieId}}"在1角?
最后是括号:
<button (click)="toggleImage($event)">
Run Code Online (Sandbox Code Playgroud)
难道这些只用于DOM事件,我们可以使用其他的事件,如(load)="someFn()"或(mouseenter)="someFn()"?
我想真正的问题是,这些符号在Angular 2中是否具有特殊含义,以及知道何时使用每个符号的最简单方法是什么?谢谢!!
我是AngularJS的新手,我想更多地了解默认情况下注入的依赖项.在阅读代码时,我注意到有时依赖项是事先明确声明的,有时它们不是.例如:
someModule.controller('MyController', ['$scope', 'someService', function($scope, someService) {
// ...
}]);
Run Code Online (Sandbox Code Playgroud)
给出与以下相同的结果:
someModule.controller('MyController', function($scope, someService) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
这是如何运作的?Angular是否假设被注入的模块与参数中的变量命名相同?
另外,奇怪的是,如果你确实指定了要注入的依赖项,你必须以正确的顺序指定所有这些依赖项,否则什么都不会起作用.例如,这是破碎的代码:
someModule.controller('MyController', ['someService', '$scope', function($scope, someService) {
// Won't give us any errors, but also won't load the dependencies properly
}]);
Run Code Online (Sandbox Code Playgroud)
有人可以向我澄清这整个过程是如何运作的?非常感谢你!!