NativeScript Telerik-UI 在 RadListView 中对图像使用 ListViewStaggeredLayout

NativeScript Telerik-UI using ListViewStaggeredLayout for images in RadListView

我有一个使用 Telerik-UI 的 NativeScript/Angular2 应用程序,当我尝试在 RadListView 中使用 ListViewStaggeredLayout 指令显示图像时,我得到一个空白页面。使用相同的代码显示文本可以正常工作,即 2 列和交错布局。使用 ListViewGridLayout 显示图像也可以。我已经看到旧的 Telerik 文档显示了这个 is/was 可以用图像,但我不知道要设置什么。 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>

您似乎对 tkListItemTemplateImagesrc 使用了非 Angular 2 绑定语法 ( {{ ... }} )。只需将其更改为 [src]="'res://listview/layouts/' + item.photo + '.jpg'" 之类的内容,一切都应该可以正常工作。或者甚至更好地删除硬编码 res://listview/layouts/'.jpg' 并将它们添加到 "data item object's .photo property",在绑定中使用这样的硬编码字符串不是一个好方法。

我已经使用此模板进行了测试,一切正常:

<GridLayout>
    <RadListView [items]="staggeredItems">
        <template tkListItemTemplate let-item="item">
            <GridLayout class="listItemTemplateGrid">
                <Image [src]="item.image" stretch="aspectFill"></Image>
                <GridLayout verticalAlignment="bottom">
                    <StackLayout class="labelsStackLayout">
                        <Label [text]="item.title"></Label>
                        <Label [text]="item.description"></Label>
                    </StackLayout>
                </GridLayout>
            </GridLayout>
        </template>

        <ListViewStaggeredLayout tkListViewLayout scrollDirection="Vertical" spanCount="3"></ListViewStaggeredLayout>
    </RadListView>
</GridLayout>

staggeredItems是这个class:

export class DataItem {
    constructor(public description?: string, public title?: string,  public image?: string) {
    }
}