绑定 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 个选择:
使用HTTP module with the function getJSON()
使用fetch module and parse your response as JSON获得JSON对象
希望对您有所帮助
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 个选择:
使用HTTP module with the function getJSON()
使用fetch module and parse your response as JSON获得JSON对象
希望对您有所帮助