我有一个使用Telerik-UI的NativeScript / Angular2应用程序,当我尝试在RadListView中使用ListViewStaggeredLayout指令显示图像时,我得到一个空白页面 . 使用相同的代码显示文本工作正常,即2列和交错布局 . 使用ListViewGridLayout显示图像也可以 . 我已经看到旧的Telerik文档显示这是/可能与图像,但我无法弄清楚要设置什么 . HTML代码如下 . 谢谢 .
<RadListView [items]="pictures">
<template tkListItemTemplate let-item="item">
<GridLayout>
<Image col="0" src="{{ 'res://listview/layouts/' + item.photo + '.jpg' }}" stretch="aspectFill" loadMode="async"></Image>
<!-- <Label col="0" [text]="item.title" textWrap="true"></Label> -->
</GridLayout>
</template>
<ListViewStaggeredLayout tkListViewLayout scrollDirection="Vertical" spanCount="2" itemWidth="180"></ListViewStaggeredLayout>
<!-- <ListViewGridLayout tkListViewLayout scrollDirection="Vertical" itemHeight="200" spanCount="2"></ListViewGridLayout> -->
</RadListView>
1 回答
看起来您在
tkListItemTemplate
中使用了非Angular 2绑定语法({{ ... }}
)用于Image
的src
. 只需将其更改为[src]="'res://listview/layouts/' + item.photo + '.jpg'"
之类的所有内容即可 . 或者甚至更好地删除硬编码的res://listview/layouts/
和'.jpg'
并将它们添加到"data item object's .photo property",在绑定中使用这样的硬编码字符串不是一个好方法 .我已使用此模板对此进行了测试,并且所有工作都按预期工
staggeredItems
属于这一类: