nativescript - 扩展中继器(或其他具有嵌套 XML 标记属性的小部件)
问题描述
我尝试扩展中继器。这样做:
// views/widgets/MyRepeater/MyRepeater.ts
import {Repeater} from "tns-core-modules/ui/repeater";
export class MyRepeater extends Repeater {}
现在我尝试使用它:
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:Test="views/widgets/MyRepeater/MyRepeater">
<Test:MyRepeater items="{{ items }}">
<Test:MyRepeater.itemsLayout>
<StackLayout/>
</Test:MyRepeater.itemsLayout>
<Test:MyRepeater.itemTemplate>
<Label text="{{ someBindingValue }}"></Label>
</Test:MyRepeater.itemTemplate>
</Test:MyRepeater>
</Page>
在第一次更改<ObservableArray>items
. 我收到这样的错误:
JS: TypeError: Cannot set property 'bindingContext' of undefined
JS: at MyRepeater.Repeater.refresh (file:///data/data/com.test/files/app/tns_modules/tns-core-modules/ui/repeater/repeater.js:48:38)
JS: at MyRepeater.Repeater._requestRefresh (file:///data/data/com.test/files/app/tns_modules/tns-core-modules/ui/repeater/repeater.js:34:18)
JS: at MyRepeater.Repeater._onItemsChanged (file:///data/data/com.test/files/app/tns_modules/tns-core-modules/ui/repeater/repeater.js:54:14)
JS: at Object.handler [as callback] (file:///data/data/com.test/files/app/tns_modules/tns-core-modules/ui/core/weak-event-listener/weak-event-listener.js:30:34)
JS: at Observable.notify (file:///data/data/com.test/files/app/tns_modules/tns-core-modules/data/observable/observable.js:110:23)
JS: at ObservableArray.splice (file:///data/data/com.test/files/app/tns_modules/tns-core-modules/data/observable-array/observable-array.js:129:14)
看起来就像在代码中tns-core-modules/ui/repeater/repeater.js:48:38
它尝试 parse itemTemplate
,但不能那样做。
我做错了什么?
解决方案
您需要像这样重新导出所有tns-core-modules/ui/repeater
内容:
export * from 'tns-core-modules/ui/repeater'
推荐阅读
- c# - Microsoft.Azure.Management 授予对虚拟机的访问权限
- jquery - 不能用 Jquery 给 Gridview 文本另一种颜色
- python - 如何阻止 BERT 将特定单词分解成单词片段
- node.js - 如何使用 mongoose 清空 mongodb 中的集合
- c - 在套接字上轮询事件并同时从标准输入中读取
- python-3.x - 破折号在按钮单击时下载内存中生成的文件:如何给出文件名?
- python - 有没有办法绘制与相同颜色同名的列?
- node.js - 用于生产用途的打字稿项目
- java - 使用弹簧注释确认密码
- python - 如何解决没有这样的列:todo_todo.title