2015-04-04 79 views
-1

告訴我,我做錯了什麼。 在輸出我得到的,我從這些數據Nativescript虛擬陣列

這裏做什麼錯誤的結論3個空行

我的建議是代碼的例子

main.js

var observable = require("data/observable"); 
var virtualArrayModule = require("data/virtual-array"); 
var http = require("http"); 

var mainViewModel = new observable.Observable(); 
var array = new virtualArrayModule.VirtualArray(3); 

mainViewModel.tapAction = function() { 

array.on(virtualArrayModule.knownEvents.itemsLoading, function (args) { 
    http.getJSON("http://www.reddit.com/r/news.json?limit=" + args.count).then(function (r) { 

     var itemsToLoad = r.data.children.map(function (i) { 
      return i.data.title; 
     }); 

     array.load(args.index, itemsToLoad); 

    }, function (e) { 
     done(e); 
    }); 

}); 

mainViewModel.set("redditItems", array); 

}; 

exports.mainViewModel = mainViewModel; 

和main.xml

<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded"> 
<StackLayout> 
<Button text="Загрузить" tap="{{ tapAction }}" /> 
<ListView items="{{ redditItems }}"> 
    <ListView.itemTemplate> 
     <GridLayout columns="auto, *, auto" rows="auto, 25"> 
     <Label text="{{ title }}" textWrap="true" col="1" colSpan="2" minHeight="50" /> 
     </GridLayout> 
    </ListView.itemTemplate> 
</ListView> 
<Label text="{{ error }}" cssClass="message"/> 
</StackLayout> 
</Page> 

回答

0

在你的main.xml中你會t爲redditItems中的每個項目顯示屬性「標題」作爲標籤的文本。

<ListView items="{{ redditItems }}"> 
    <ListView.itemTemplate> 
    <GridLayout columns="auto, *, auto" rows="auto, 25"> 
     <Label text="{{ title }}" textWrap="true" col="1" colSpan="2" minHeight="50" /> 
    </GridLayout> 
    </ListView.itemTemplate> 
</ListView> 

但在你的ListView的itemsLoading情況下,你只添加一個字符串數組redditItems。

var itemsToLoad = r.data.children.map(function (i) { 
    return i.data.title; 
}); 
array.load(args.index, itemsToLoad); 

的觀點無關,表明因爲沒有一個「頭銜」屬性存在於redditItems數組中的項目。將上面的代碼更改爲以下代碼以查看它是否有效(還沒有自己測試過)。

var itemsToLoad = r.data.children.map(function (i) { 
    return i.data; 
}); 
array.load(args.index, itemsToLoad); 

現在的「頭銜」屬性應該是可在每個項目中的redditItems陣列和視圖可以顯示該屬性的值。

+0

感謝您的回覆,我改變了這個部分,但問題還沒有解決:( – zverbeta 2015-04-30 17:29:52