1、*ngFor 是一个结构型指令。结构型指令会通过添加,删除和操纵它们的宿主元素
等方式塑造或重塑造DOM的结构。任何带有*的指令都是结构型指令
So, for examples:
<li *ngFor="let hero of heroes"> // <li>就是*ngFor的宿主元素
JAVAScript内置对象、宿主对象、自定义对象的区别?
内置对象:系统所提供的对象:如Object、Array、Math、Date
宿主对象:JS 所运行的环境提供的对象 比如:BoM中的window, DOM中的document
自定义对象:自定义构造函数所创建的对象
2、插值表达式 {{}} 允许你把属性值渲染为文本, 属性绑定语法[] 则语速你在
模板表达式中使用属性值
[title] = "product.name+details" --字符串的内容当做属性值处理,若是没找到
对应的属性值,则结果是undefined,此列子,details就会被解析为undefined,
所以要想显示字符串格式如下:[title] = "product.name+'details' "
--details则会当做普通字符串显示
title = "{{product.name}}+details" =>只有{{}}中的内容才会被当做属性值解析,
若是属性值不存在,则解析结果为null,啥都不显示
So, 动态属性建议用[]绑定方法--容易区别普通属性
3、ActivetedRoute --专门用于由Angular路由器加载的每个路由组件。
它包含关于该路由,路由参数以及该路由关联的其他数据信息
获取路由中的变量:
this.route.paramMap.subscribe(params=>{
this.product = products[params.get('productId')]
})
这个路由参数对应于路由中定义的路径变量
4、从服务器返回的数据通常采用流的形式,流是很有作用的,因为他们可以很容易的
转换返回的数据,也可以修改请求数据的方式
5、CSS元素选择器 app-heroes用来在父组件的模板中匹配HTML元素的名称,
以识别出该组件
6、uppercase --将字符转为大写字母
7、要想[(ngModel)] 双向绑定生效,必须在app.module.ts中导入FormsModule模块
8、CSS类绑定机制让根据条件添加或移除一个CSS类变得很容易,只要把
[class.some-css-class]="some-condition"添加到你要施加样式的元素上
就可以了, for example: [class.selected] = "hero===selectedHero"