Nativescript-onItemLoading回调调用了两次

Nativescript-onItemLoading回调调用了两次,nativescript,Nativescript,有一个带有ListView的简单NS/TS页面-列表由ObservableArray驱动 我向数组中添加了1个条目,onItemLoading事件被称为2x 这是我的XML 这是您的xml文件 <ListView items="{{ dataItems }}" itemLoading="onItemLoading" itemTap="{{ onNoteTap }}" itemTemplateSelector="'note'"> <ListView.

有一个带有ListView的简单NS/TS页面-列表由ObservableArray驱动

我向数组中添加了1个条目,onItemLoading事件被称为2x

这是我的XML


这是您的xml文件

<ListView items="{{ dataItems }}"
    itemLoading="onItemLoading"
    itemTap="{{ onNoteTap }}"
    itemTemplateSelector="'note'">

<ListView.itemTemplates>
  <template key="note">
    <StackLayout>
          <Label id="label"/>
    </StackLayout>
  </template>

</ListView.itemTemplates>
</ListView>

这是您的main.ts文件代码,不是ts型号

import { EventData } from 'data/observable';
import { Page } from 'ui/page';
import { HelloWorldModel } from './main-view-model';

// Event handler for Page "navigatingTo" event attached in main-page.xml
export function navigatingTo(args: EventData) {

    let page = <Page>args.object;

    page.bindingContext = new HelloWorldModel();
}
export function onItemLoading(args) {
    console.log('Calling here ');
}
从“数据/可观察”导入{EventData};
从'ui/Page'导入{Page};
从“/main view model”导入{HelloWorldModel};
//main-Page.xml中附加的页面“NavigationTo”事件的事件处理程序
导出函数导航到(参数:EventData){
让page=args.object;
page.bindingContext=新的HelloWorldModel();
}
导出函数加载(args){
log('Calling here');
}

我相信我所写的是正确的-正在调用model方法onItemLoading。只是为了测试,我把它做成了一个页面方法——它被称为2x。你可以在HelloWorldModel构造函数的ListView中添加一个条目,看看会发生什么。我下载并运行了它。onItemLoading()方法被调用16次-页面刷新4次。我正在使用NS 2.5.3和core 3.0.1以及android 3.1.1。请使用最新的本机脚本。我已经为NS3.0编写了它