0
我正在嘗試創建一個自定義組件,如here所述,以便在應用程序的不同位置重新使用操作欄及其邏輯。 以下是我已經設置的組件:Nativescript ActionBar自定義組件
/components/header/header.xml
<ActionBar title="Title" class="{{ 'mode' == dark ? 'bg-dark' : 'bg-white' }}" loaded="loaded">
</ActionBar>
/components/header/header.ts
exports.loaded = (args) => {
let page = <Page> args.object;
let pageObservable = new Observable({
'mode' : page.get('mode')
});
page.bindingContext = pageObservable;
}
然後我嘗試使用該組件調用它是這樣的:
some_view.xml
<Page
xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:header="components/header">
<header:header mode="dark"/>
<StackLayout>..</StackLayout>
...
</Page>
然而,導航到`some-view.xml'我得到以下錯誤:
Calling js method onCreateView failed
TypeError: Cannot read property frame of 'undefined'
File "data...../ui/action-bar/action-bar.js" line: 146
我做錯了什麼? 您是否成功創建了一個基於ActionBar的自定義組件?