我一直在使用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>;
}