Я пытаюсь расширить Repeater.Просто сделайте так:
// 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
он пытается разобрать itemTemplate
, но не может этого сделать.
Что я делаю не так?