にngOnInit()
入れたい「return x」がありObservable
、変換を実行して同じ形式で再度返します。
これが作業中のプランカーです: http://plnkr.co/edit/z26799bSy17mAL4P5MiD?p=preview
import {Component} from '@angular/core'
import { Observable } from 'rxjs'
import * as Rx from 'rxjs/Rx'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>{{name}}</h2>
<button (click)="addToArray()">Add</button>
<ul>
<li *ngFor="let item of data$ | async">{{ item }}</li>
</ul>
</div>
`,
directives: []
})
export class App {
data = ["one","two","three"]
data$: Observable<Array<string>>;
constructor() {
this.name = 'Angular2 array to observable example'
}
ngOnInit() {
this.data$ = Rx.Observable.of(this.data)
.map(data => {
let x = data
x.push("4")
///
/// TRANSFORM X IN THIS SECTION OF THE CODE
/// HERE BY PUTTING IT INTO OBSERVABLE
/// PERFORMING TRANSFORMATIONS AND
/// RETURNING THE DATA TO BE RENDERED IN TEMPLATE
///
return x
})
}
addToArray() {
this.data.push('more numbers')
}
}