语法 Q1 - FS-Angular-Interest-Group/AngularTraining GitHub Wiki

语法-Q1:这一段变量的类型该如何解释?

changes: {[propKey: string]: SimpleChange}

整体代码如下: (from 05_component)

export class VersionChildComponent implements OnChanges {
  @Input() major: number;
  @Input() minor: number;
  changeLog: string[] = [];

  ngOnChanges(changes: {[propKey: string]: SimpleChange}) {
	let log: string[] = [];
	for (let propName in changes) {
	  let changedProp = changes[propName];
	  let to = JSON.stringify(changedProp.currentValue);
	  if (changedProp.isFirstChange()) {
		log.push(`Initial value of ${propName} set to ${to}`);
	  } else {
		let from = JSON.stringify(changedProp.previousValue);
		log.push(`${propName} changed from ${from} to ${to}`);
	  }
	}
	this.changeLog.push(log.join(', '));
  }
}