-2
陣列
我已經實現在服務的陣列的接口:角4可觀察到在服務
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
interface Artwork {
artTitle: string;
slideUrl?: string;
}
let Artwks: Artwork [] = [];
Artwks.push({
artTitle: "'Surprising Breakfast Ideas'",
slideUrl: './assets/SBI_Slide_1.jpg',
});
Artwks.push({
artTitle: "'Eagle'",
slideUrl: './assets/Eagle_Slide_2.jpg',
});
Artwks.push({
artTitle: "'Knot'",
slideUrl: './assets/Knot_Slide_3.jpg',
});
@Injectable()
export class ImageServiceService {
Artwks = Artwks;
i: number = 0;
getIndex() {
return this.i ;
}
getSlide() {
return this.Artwks[this.i].slideUrl;
}
getPrev() {
this.i = this.i===0 ? 0 : this.i - 1;
this.getTitle();
console.log(this.getTitle());
this.getSlide();
}
getNext() {
this.i = this.i===this.Artwks.length ? this.i : this.i + 1;
this.getTitle();
console.log(this.getTitle());
this.getSlide();
}
getTitle(): Observable<Artwork.artTitle> {
return this.Artwks[this.i].artTitle;
}
}
我想顯示的陣列的標題組件時GETNEXT()或getPrev()被調用在服務上,但我不知道如何設置我的觀察值,以便每次更改artTitle時都更新它的值。
我得到錯誤「‘藝術品’只是指一個類型,而是被用作這裏命名空間」
這就是我所害怕的!我想我要問的是,如何將artTitle字符串放入Observable中,以便從與調用getNext和getPrev函數的組件無關的組件中觀察它? – Davtho1983
您需要創建一個可觀察值並使用'next()'將值推入。請參閱編輯粗略大綱。 –