すいません。
教えてください。
以下のコードで返った型によって処理を切り替えたいです。
- String型ならそのまま値を表示
- Object型なら中身を個々に表示
しかし、うまくいきません。
■ デモ環境
https://stackblitz.com/edit/angular-tmg3jq?file=src%2Fapp%2Fapp.component.ts
■ 以下、実際のコード
HTML
1<div [ngSwitch]="sample.type"> 2 <!-- String型で返ってきた場合 --> 3 <div *ngSwitchCase="'String'">String型で返ったよ:{{ sample }}</div> 4 <!-- Object型で返ってきた場合 --> 5 <div *ngSwitchCase="'object'">object型で返ったよ:{{ sample.name }} {{ sample.age }}</div> 6</div> 7 8<button (click)="view()">push</button>
TypeScript
1 // 宣言 2 sample 3 // エンドポイント 4 async view() { 5 this.sample = await this.setValue() 6 console.log(`今回返った型: ${typeof this.sample}`) 7 } 8 // 値に型をセットする処理 9 setValue() { 10 return new Promise((resolve) => { 11 resolve([{name: 'hoge', age: 23},{name: 'fuga', age: 21}]) 12 // resolve(`エラーだよ`) 13 }) 14 }
HTML側で返ってきた型を識別させる事ができず(type
なんか無いよエラー)に、うまく切り分けを行う事が出来ません。
出来れば新たな変数を宣言する事なく解決できる方法を考えています。
お手数ですがどなたかご教示ください…。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。