我一直在使用ImmutableJS和Angular 2一段时间,因为它在变化检测方面的性能优势。请参阅here.ImmutableJS如何与Angular 2一起使用?
但是,我不太确定,为什么Immutable在默认情况下适用于Angular 2。当没有显式数组时,它如何知道如何遍历这些值并显示它们?每次访问集合的值时,是否只需拨打toJS()
?它实现了Angular 2自动调用的某种方法吗?
如果是这样,有没有办法来定义你自己的集合,也实现了这种方法?
一个例子:
Component({
selector: 'list',
template: '<ul><li *ngFor="#item of items">{{ item.id }}</li></ul>',
directives: [CORE_DIRECTIVES]
})
export class SiteComponent {
items: Immutable.List<Item>;
}