EDIT:最終的に私の問題は、https://plnkr.co/edit/A2WipJwW9kEhhlh90xMjの吹き出しに行き着いた。選択したマーケットにヒットしたら、Enterキーを押してmarket-search.component.tsファイルのmarketSelectorDropDown
メソッドに入ります。問題はマップの下の数行にあり、選択されたマーケットドロップダウンが再びクリックされるまで、購読は実行されません。私はなぜなのか理解していない。どんな助けでも大歓迎です!Angular2配列のObservableの最初の要素へのアクセス
this.markets
.map(markets => {
debugger
if(markets && markets.length > 0) return markets[0];
})
.subscribe((market: Market) => {
debugger
this.pick(market.name)
});
編集:解答としてマークされているのコメントに答えがあります。 BehaviorSubjectを使用することです。これにより、遅れた加入者は最後のイベントを送信できます。
私が試したとき: 'this.markets .first(null、markets => markets [0]) .subscribe((market:Market)=> { this.pick(market。名前) }); 'サブスクライブするメソッドにブレークポイントを設定すると、決してヒットしません。 – avidgoffer
これは1を返しませんか? https://jsfiddle.net/j86afj61/ – avidgoffer
Angular2はrxjs5を使用します。私はプランカを追加しました。ダミーのjsonがあり、常に 'name1'を返します – yurzui