RadListView 和 Observable Items - 设置项目值时应用程序崩溃

RadListView and Observable Items - application crash on setting items value

我有一个 Vanilla Nativescript 应用程序,我正在测试 RadListView;从 JS 填充项目。

我一设置 ObservableArray 的值,应用程序就崩溃了。我试图设置 onload 和 on tap 的值。在此示例中,底部标签上的选项卡;目前顶部的标签将显示设置值,因此我知道该对象确实存在;但是当尝试将数据绑定到列表视图时出现问题。

下面是复制这个问题的基本代码;如果您取消注释该行:

pageData.set("items", 项);

任何方向将不胜感激。

主页-PAGE.XML

<Page class="page"
    navigatingTo="onNavigatingTo"  
    loaded="pageLoaded" 
    xmlns="http://schemas.nativescript.org/tns.xsd"
    xmlns:lv="nativescript-ui-listview"
>

    <ActionBar class="action-bar">
        <Label class="action-bar-title" text="Home"></Label>
    </ActionBar>

    <StackLayout>
        <!-- Add your page content here -->

        <Label  text="{{ toptext }}" textAlignment="center" color="#88f" fontSize="15" fontWeight="bold"/>


        <lv:RadListView height="350" items="{{ items }}" >
        <lv:RadListView.itemTemplate>
            <StackLayout orientation="vertical">
                <Label fontSize="20" text="{{ itemName }}"/>
                <Label fontSize="14" text="{{ itemDescription }}"/>
            </StackLayout>
        </lv:RadListView.itemTemplate>
    </lv:RadListView>

        <Label  text="BOTTOM LABEL" textAlignment="center" color="#f88" fontSize="33" fontWeight="bold" onTap="fillListview"/>

    </StackLayout>
</Page>

主页-PAGE.JS

const HomeViewModel = require("./home-view-model");

var Observable = require("data/observable").Observable;
var ObservableArray = require("data/observable-array").ObservableArray;

var items = new ObservableArray();

var pageData = new Observable();



function onNavigatingTo(args) {
    const page = args.object;
    page.bindingContext = new HomeViewModel();

}

exports.onNavigatingTo = onNavigatingTo;


exports.pageLoaded = function(args) {
    page = args.object;
    page.bindingContext = pageData;

    items.push(
        {
            itemName: "$USD / ZAR",
            itemDescription: "13.50",
            itemDate: "3 Jul 2019",
            itemImage: "~/images/arcade-fire.png"
        },
        {
            itemName: "$USD / ZAR",
            itemDescription: "18.00",
            itemDate: "17 Aug 2019",
            itemImage: "~/images/bon-iver.png"
        }
    )



};




exports.fillListview = function(args) {

    pageData.set("toptext", items);
//  pageData.set("items", items);

}

我试图在 playground 项目中重现您的问题,但一切正常,您是否在控制台中收到有关您的问题的一些错误??

Here 是我尝试使用您的代码的项目