当您在地图或WeakMap上调用set
时,Angular不会接收更改除非您使用plnkr
@Component({
selector: 'my-app',
template: `
<div>
<button (click)="onClick()">click</button>
{{ map | json }}
</div>
`,
styles: [`
`]
})
export class AppComponent {
map = new Map();
onClick () {
this.map.set({'a':Math.random()}, {[Math.random()]: {'a':Math.random()}})
console.log(this.map);
}
}
这段非常简单的代码会在Plunkr中按预期更新 https://plnkr.co/edit/xbn82sr8KK0oe4WjCX1m?p=preview
但是在本地,在通过@ angular / cli新创建的项目中,它将无法正常工作 控制台日志显示正在设置地图,但屏幕只呈现一个空数组。
添加ChangeDetectorRef并detectChanges
或markForCheck
不执行任何操作。
回复: https://github.com/cheapsteak/ng-debug-map/blob/master/src/app/app.component.ts
答案 0 :(得分:0)
找到解决方案......
在polyfills.ts
中,添加
import 'core-js/shim';
朝向文件顶部