Javascript 从其他组件设置模型后,Angular2视图不更新

Javascript 从其他组件设置模型后,Angular2视图不更新,javascript,arrays,angular,typescript,model,Javascript,Arrays,Angular,Typescript,Model,我有一个简单的web应用程序,它有一个应用程序模型和几个组件。当我更新模型中的数组时,使用该模型的视图不会更新。当我在控制台上记录模型阵列时,我可以看到模型正在更新,而不是视图。任何帮助都将不胜感激。下面请看一下我目前拥有的 概述.组件.ts import { Component, OnInit } from '@angular/core'; import { AppModel } from '../models/app-model'; @Component({ selector: 'ap

我有一个简单的web应用程序,它有一个应用程序模型和几个组件。当我更新模型中的数组时,使用该模型的视图不会更新。当我在控制台上记录模型阵列时,我可以看到模型正在更新,而不是视图。任何帮助都将不胜感激。下面请看一下我目前拥有的

概述.组件.ts

import { Component, OnInit } from '@angular/core';
import { AppModel } from '../models/app-model';

@Component({
  selector: 'app-overview',
  templateUrl: './overview.component.html',
  providers: [AppModel]
})
export class OverviewComponent implements OnInit {
  constructor(public AppModel:AppModel) { }
  ngOnInit() {}
}
export class AppModel {
  myArray:Array<any> = [];
  constructor(){}
}
应用程序模型.ts

import { Component, OnInit } from '@angular/core';
import { AppModel } from '../models/app-model';

@Component({
  selector: 'app-overview',
  templateUrl: './overview.component.html',
  providers: [AppModel]
})
export class OverviewComponent implements OnInit {
  constructor(public AppModel:AppModel) { }
  ngOnInit() {}
}
export class AppModel {
  myArray:Array<any> = [];
  constructor(){}
}

对于一项服务,每个提供者都有一个实例。
如果将提供程序添加到组件,则获得的服务实例数量与组件实例数量相同。只有组件本身及其子组件才能从组件注入提供程序。
您需要在公共父组件上或在
@NgModule()
中提供服务

仅在
@NgModule()
中使用提供程序时,您可以为整个应用程序获得一个实例

如何更新
myArray
?使用主题,如“为每个提供程序获取一个实例”中所述。如果将提供程序添加到组件,则获得的实例数与组件实例数相同。只有组件本身及其子组件才能从组件注入提供程序。您需要在公共父组件上或在
@NgModule()
中提供服务。只有在
@NgModule()
中才有提供程序,整个应用程序只有一个实例。@GünterZöchbauer将应用程序模型添加到@NgModule()中的提供程序数组中,然后在其他地方将其删除,就成功了。非常感谢您的时间、耐心和帮助。很高兴听到。你仍然应该考虑可观测性。