0.安装即环境初始化
下载node至windows,点击安装,所有环境变量直接OK;
linux下载tar后,解压,在/etc/profile的path路径下增加node执行路径:
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:/home/xxx/angular/node-v8.12.0-linux-x64/bin:$PATH
source /etc/profile
直接使用node --version和npm, 有输出证明node环境安装完成。
下面安装angular的命令行工具,
npm install -g @angular/cli
ng new myApp
ng serve
1.在angular的html,""里面是property或表达式或变量,而不是纯字符串,纯字符串是"''"; 双引号里加单引号的是纯字符串;
如下:
<div class="m-1">
<button class="btn btn-primary" (click)="setCategory('soccer')">Soccer</button>
<button class="btn btn-primary" (click)="setCategory(chessCategory)">
Chess
</button>
<button class="btn btn-primary"
(click)="setCategory('Water' + 'Sports')">Watersports</button>
<button class="btn btn-primary" (click)="setCategory(null)">All</button>
</div>
soccer:是字符串
chessCategory:则是组件的属性;
2.@NgModule({
providers: [Repository]
})
中的providers部分表示该类会被作为DI注射到其他Class中去。即其他类的构造函数里,会传入providers里的类作为参数;
3.@Injectable()加载类前面,表示该类的构造函数需要一个angular系统提供DI的参数。比如下面的定义:
@Injectable()
export class Repository {
private filterObject = new Filter();
private paginationObject = new Pagination();
constructor(private http:Http) {
//this.filter.category = "soccer";
this.filter.related = true;
this.getProducts(true);
}
......
}
构造函数里需要一个Http的输入参数;
上面节选自Essential angular+MVC,可能不准确。经过书中其他实例,判读啊Injectable 是指该类可以作为服务,即可以用来DI的服务,在module里的provider里声明他们,可以被其他类进行依赖,靠DI自动创建的类。