NativeScript中的ListView.itemTemplate和图像
我正在尝试为NativeScript构建联系人列表类型POC。我希望在列表项中有一个图像和名称。我用于布局的代码如下NativeScript中的ListView.itemTemplate和图像,listview,nativescript,Listview,Nativescript,我正在尝试为NativeScript构建联系人列表类型POC。我希望在列表项中有一个图像和名称。我用于布局的代码如下 <Page loaded="pageLoaded"> <ListView items="{{ myItems }}"> <ListView.itemTemplate> <Image src="{{ imageSrc }}" /> <Label text="
<Page loaded="pageLoaded">
<ListView items="{{ myItems }}">
<ListView.itemTemplate>
<Image src="{{ imageSrc }}" />
<Label text="{{ title }}" />
</ListView.itemTemplate>
</ListView>
</Page>
显然,标题值很好,但图像根本没有显示出来。当我尝试将相同的图像代码放入空页面时,NativeScript会使用图像构建页面
有人能告诉我为什么listview模板中没有出现图像吗?如何显示
谢谢我测试了这个;您需要将内部项放入布局中。我相信itemTemplate只能是一个孩子。我所有的测试似乎都表明itemTemplate指向一个孩子 因此,这很好,因为单个子项是一个StackLayout,其中包含两个项 XML:
可观察数据结构(myItems)是一个对象数组,对象为{imageSrc:“blah.png”,标题:“blah blah blah blah blah blah”}是本地映像还是远程映像(http)?是的@Nathanel,它是该对象的数组。@antione129,映像在远程服务器上。您的解决方案工作得很好。谢谢我仍然不理解ObservalArray()在这里的要求。ObservalArray的唯一用途是让您可以实时进行更改,并进行更新。建议您在执行任何绑定时使用Observable,以便可以双向更改它。但是如果你不想频繁更新列表,你可以使用普通数组。这是有道理的。
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="onPageLoaded">
<ListView id="listview" items="{{ myItems }}">
<ListView.itemTemplate>
<StackLayout orientation="horizontal">
<Label text="{{ title }}" />
<Image src="{{ src }}" stretch="none" />
</StackLayout>
</ListView.itemTemplate>
</ListView>
</Page>
var observableArray = require("data/observable-array");
function onPageLoaded(args) {
var page = args.object;
var array = new observableArray.ObservableArray();
array.push({title: "Title1", src: 'http://master-technology.com/images/Logo1.gif')});
array.push({title: "Title2", src: 'http://master-technology.com/images/demos/Apps-TurnItOffLogo.gif')});
page.bindingContext = {myItems: array};
}
exports.onPageLoaded = onPageLoaded;