0

我有一个名为 test 的类,其中的属性是数据。当 test.data 更新时,如何绑定home.showVartest.datahome.showVar 也会更新(我想向用户显示列表)

基本上我想要一个名为 test 的服务,它触发 api 调用,然后返回数据并与现有数据合并,然后显示给用户。我是 angular2 和打字稿的新手。所以我不确定如何将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

基本上,您需要在测试类中创建一个返回某些内容或响应的函数。然后在你的类中使用该类方法来获取更新的数据。然后赋值给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 调用更清楚,这里是例子:

这是我的组件文件代码,就像您的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 回答