0

内部のプロパティがデータである test というクラスがあります。test.data が更新されると、home.showVar も更新されるようにバインドするにはどうすればよいですか (ユーザーにリストを表示しhome.showVarたい)test.data

基本的に、API呼び出しをトリガーするtestというサービスが必要です。これにより、データが返され、既存のデータとマージされてからユーザーに表示されます。私はangular2とtypescriptが初めてです。httpデータを既存のデータとマージして、別のページにバインドする方法がわかりません。

export class test {
    public data = 'yes';
    constructor() { }
}

@Page({
    templateUrl: 'home.html'
})

export class Home {
    showVar;
    constructor(test: test) {
        this.showVar = test.data;
    }
}
4

1 に答える 1

1

基本的に、何かまたは応答を返すテスト クラスに 1 つの関数を作成する必要があります。次に、クラスでそのクラスメソッドを使用して更新されたデータを取得します。次に、showVar変数に代入します。それがあなたを助けることを願っています。

export class test {
    public data = 'yes';
    constructor() { }
     demo(){
        return this.data;
      }
}

@Page({
    templateUrl: 'home.html'
})

export class Home {
    showVar;
    constructor(private test: test) {
       this.test.demo(res=>{
          res= this.showVar;
       });
    }
}

さらにコードを投稿すると、問題がさらに解決される可能性があります。たとえば、API呼び出しを使用してこれがさらに明確になることを願って、もう1つの例を投稿しています。例は次のとおりです。

コンポーネントコードと同じように、私のコンポーネントファイルコードは次のhomeとおりです。

API_call() {
    let url_getApi = 'Path or URl here...'

    this.APIService.getData(url_getApi)
        .subscribe(res=> {
            if (res) {
                this.showVar= res;
                console.log(res, "Data from API call");
            }
        });
}

(APIService.ts)テストクラスコードは次のようになります。

getData(url) {
   return this.http.request(new Request(url, or RequestOptions as per need)
    .map(res => {
           return res.json();
        });
}
于 2016-02-14T07:20:35.560 に答える