这可能不是问题,但这是从头开始学习本机脚本时出现的一系列疑问。
我有一个 1000 或更多的数据列表存储在数据表中。知道我想将其显示在列表视图上,但我不想立即读取所有数据。因为我有图像存储在其他目录中并且也想读取它。因此,对于 20 到 30 个数据,性能相当不错。但对于 1000 个数据,读取数据以及与其相关的图像需要超过 15 分钟。因为我正在存储一些高质量的图像。
因此我决定只读取 20 个数据及其各自的图像。并将其显示在列表中。知道用户何时到达列表的第 15 个数据。我决定从服务器读取 10 个以上的数据。
知道当我搜索这个时我遇到了“RadListView Load on Demand”。
然后我就看了下面的代码。
public addMoreItemsFromSource(chunkSize: number) {
let newItems = this._sourceDataItems.splice(0, chunkSize);
this.dataItems.push(newItems);
}
public onLoadMoreItemsRequested(args: LoadOnDemandListViewEventData) {
const that = new WeakRef(this);
const listView: RadListView = args.object;
if (this._sourceDataItems.length > 0) {
setTimeout(function () {
that.get().addMoreItemsFromSource(2);
listView.notifyLoadOnDemandFinished();
}, 1500);
args.returnValue = true;
} else {
args.returnValue = false;
listView.notifyLoadOnDemandFinished(true);
}
}
在 NativeScript 中,如果我想访问绑定元素 xml 元素。我必须在关联的 js 文件上的 viewmodel 或exports.com_name 中使用 observables。
但在这个例子中它是从 public 开始的..!如何在 JavaScript 中使用它。
什么是 new WeakRef(this) ?
为什么需要它?
如何识别用户已滚动到 15 个数据,因为我想在他到达第 15 个数据时加载更多数据。
获取数据后如何更新列表数组并将其显示在列表视图中?
最后我只想知道如何使用按需加载
我尝试创建一个我尝试过的游乐场样本,但它给出了错误。找不到 radlistview 的模块。
请记住,我是一名新人,因此,在回答时请记住这一点。谢谢你,
如果您觉得问题不符合标准,请修改问题。