angular2杂学
推荐一个博客:http://www.semlinker.com/categories/angular/
目录篇:https://segmentfault.com/a/1190000008754631#articleHeader10
推荐文章:
https://segmentfault.com/a/1190000009530554 (NgTemplateOutlet)
https://segmentfault.com/a/1190000009307714 (结构型指令)
https://segmentfault.com/a/1190000008672478(templateref)
$event
在input的这些原生元素中,可以用#input代替$event。而在主从组件中事件的交互中,主组件模板中的$event必须要使用,才能把值传递出去。
指令
三种指令:组件(带模板的指令),结构型指令(会改变dom树结构,如ngfor和ngif),属性型指令(改变一些样式或内容)
组件是@Component,结构型和属性是@Directive
ElementRef
对视图中某个原生元素的包装器
ng-template和ng-container
ng-template是Angular 结构型指令中的一种,用于定义模板渲染HTML(模板加载)。定义的模板不会直接显示出来(就是只写ng-template没有其他控制,页面不会显示任何东西),需要通过其他结构型指令(如 ng-if)或 viewcontainer将模块内容渲染到页面中
ng-container既不是一个Component,也不是一个Directive,只是单纯的一个特殊tag。ng-container可以直接包裹任何元素,包括文本,但本身不会生成元素标签,也不会影响页面样式和布局。包裹的内容,如果不通过其他指令控制,会直接渲染到页面中。可以把ng-container简单理解为一个逻辑容器。用来做一些逻辑处理的。因为ngif和ngfor(一个元素只能使用一个结构型指令)无法在一个元素中使用,那么可以使用ng-container来解决问题。
NgTemplateOutlet
展示一个ng-template的内容