TypeScript初心者です…すみません教えてください。
前回こちらで質問させて頂き、外部クラスからコールバック関数を用いてresultを取得するところまでは実装することができたのですが肝心なそのresultを変数であるthis.namesに代入する事ができずに困っています…。
デバッグでは直前のconsole.logで確実に配列3つ取得できています。しかし、いざその配列をThis.namesに代入しようとすると、HTMLブラウザではERROR TypeError: "this is undefined"となってしまい何も表示されません…。
■ App.Component.ts
TypeScript
1import { Component } from '@angular/core'; 2import { Name } from './name'; 3import { MyDB } from './mydb'; 4 5@Component({ 6 selector: 'app-root', 7 templateUrl: './app.component.html', 8 styleUrls: ['./app.component.css'] 9}) 10 11export class AppComponent { 12 constructor(private MyDB: MyDB) { 13 this.MyDB.Get(function (result: Name[]) { 14 console.log(result) 15 this.names = result // ← うまく代入できない 16 }); 17 } 18}
■ App.Component.html
html
1<div *ngIf="names"> 2 <div *ngFor="let name of names"> 3 <p>{{name.id}}: {{name.name}}</p> 4 </div> 5</div>
いろいろ試行錯誤していますが、自力で解決できず…。
どのようにすればhtmlに表示することができるでしょうか?
可能であればわかりやすく説明して頂けると嬉しいです。
大変お手数ですがどなたかご教示くださいませ><;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/17 05:00