绑定 Restful 数据

Binding Restful data

restfulapi 的 for 循环和绑定数据有问题。

我的 .js 视图中有这段代码:

ZonesPage.prototype.contentLoaded = function(args) {
 var page = args.object;
 var array = new observableArray.ObservableArray([]);
 var myarray = new observableArray.ObservableArray([]);
 fetchModule.fetch("http://www.beer-tutorials.org/beers/beers.json").then(function(r){
   for (i = 0; i < r.length; i++){
    var zone = {name: r[i].name, description: r[i].description}
    array.push(zone);
   }
   console.log(JSON.stringify(r));
}, function(error){
  console.log(JSON.stringify(error));
})
  myarray.push({title: "Title1", name: "hola"});
  myarray.push({title: "Title2", name: "hola2"});

  page.bindingContext = {myItems: array};
}

当我绑定包含 api 数据的数组时,没有任何反应,我的控制台中也没有错误。但是当更改为绑定到 myarray 时,会看到一个包含我的标题和名字的漂亮列表。

for中怎么弄错了?或者它在我的 var 区?

在我的 xml 文件中:

<ListView id="listview" items="{{ myItems }}">
   <ListView.itemTemplate>
      <StackLayout orientation="horizontal">
      <Label text="{{ description }}" />
      <Label text="{{ name }}" />
      </StackLayout>
   </ListView.itemTemplate>
 </ListView>

感谢您的帮助。

我认为问题出在您使用获取模块的方式上,

看看 Nativescript's documentation fetch module

为了获得 JSON 对象作为响应,您有 2 个选择:

希望对您有所帮助