Похоже, что общие сервисы - это наилучшая практика для решения многих ситуаций, таких как связь между компонентами или замена старой концепции $ anchor углового 1. Я пытаюсь создать свою, но это не за работой. Любая помощь ? ты !!!Угловая 2 - Использование общей службы
app.component.ts
import {Component} from 'angular2/core';
import {OtherComponent} from './other.component';
import {SharedService} from './services/shared.service';
@Component({
selector: 'my-app',
providers: [SharedService],
directives: [OtherComponent],
template: `
<button (click)="setSharedValue()">Add value to Shared Service</button>
<br><br>
<other></other>
`
})
export class AppComponent {
data: string = 'Testing data';
setSharedValue(){
this._sharedService.insertData(this.data);
this.data = '';
console.log('Data sent');
}
constructor(private _sharedService: SharedService){}
}
other.component.ts
import {Component, OnInit} from "angular2/core";
import {SharedService} from './services/shared.service';
@Component({
selector : "other",
providers : [SharedService],
template : `
I'm the other component. The shared data is: {{data}}
`,
})
export class OtherComponent implements OnInit{
data: string[] = [];
constructor(private _sharedService: SharedService){}
ngOnInit():any {
this.data = this._sharedService.dataArray;
}
}
Вы слишком быстро: P Вот рабочий плункер: https://plnkr.co/edit/HX3LT9RaJD6ki3vpa1aW. Поскольку данные хранятся в массиве, вам нужно также перебирать массив, чтобы отображать отдельные фрагменты информации, которую вы храните. –
Исправьте меня, если я ошибаюсь, но похоже, что загрузочный блок изменился в финале Angular 2. Вы, ребята, знаете, как я могу адаптировать решение, которое вы предоставили? благодаря! – guicl
Действительно, это предоставленное решение, похоже, не работает в последней версии Angular 5. Синтаксис Bootstrap также был изменен, если вы попробуете сказать, что «Сервис не может использоваться как компонент записи» –