小编Dav*_*eza的帖子

Angular2中的括号,括号和星号有什么区别?

我一直在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中是否具有特殊含义,以及知道何时使用每个符号的最简单方法是什么?谢谢!!

angular

123
推荐指数
3
解决办法
6万
查看次数

隐式/内联/ $注入依赖注入如何在AngularJS中工作?

我是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)

有人可以向我澄清这整个过程是如何运作的?非常感谢你!!

javascript dependency-injection angularjs

5
推荐指数
1
解决办法
1560
查看次数