Я довольно плохо знаком с Angular, Ionic и т. Д., Но у меня есть вопрос по поводу синхронизации массива объектов.
Скажите, что у меня есть провайдер под названием Устройства, подобные этому:
import { Injectable } from '@angular/core';
import { Platform } from 'ionic-angular';
@Injectable()
export class Devices {
public devices: any;
...
Теперь в одном из моих компонентов я беру один из объектов внутри устройств и обновляю атрибут:
import { Devices } from '../../providers/devices/devices';
@IonicPage()
@Component({
selector: 'page-device-list',
templateUrl: 'device-list.html',
})
export class DeviceListPage {
device: any;
constructor(public navCtrl: NavController, public navParams: NavParams,
public devices: Device) {
this.device = this.devices.devices[0];
this.device.name = "A new name";
...
Проблема в том, что this.device
является локальной ссылкой на объект. Я хочу иметь возможность синхронизировать эти локальные объекты с глобальным объектом в службе (Devices.devices
), чтобы при обновлении локальной ссылки я мог также обновлять значение в поставщике устройств, чтобы другие компоненты, использующие этого поставщика, могли быть обновленным.
Есть ли "угловой" способ сделать это или мне нужно написать какую-то функцию setDevice
внутри провайдера, которая перестраивает массив devices
с новым значением для device?