我正在探索NgForOf指令的源代码,并注意到正在使用IterableDiffers。以下几行代码将演示我的问题:
constructor(private _differs: IterableDiffers) {
}
ngOnInit() {
const arr = ['One', 'Two', 'Three'];
let differ = this._differs.find(arr).create();
let changes = differ.diff(arr);
// DefaultIterableDiffer {length: 3, _linkedRecords: _DuplicateMap, _unlinkedRecords: null, _previousItHead: null, _itHead: IterableChangeRecord_, …}
console.log('changes 1:', changes);
changes = differ.diff(arr);
// null
console.log('changes 2:', changes);
}
为什么第一个different.diff(arr)调用返回一个对象? 数组没有更改或修改,我希望第一个调用像第二个调用一样返回null。我想念什么?