アプリの別の場所でアクションバーとそのロジックを再利用するために、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に基づいてカスタムコンポーネントを作成することに成功しましたか?