2
ビューからコンポーネント関数を呼び出す方法はありますか?のラインの何か。アウレリア成分。タイプスクリプト内のコンポーネントの関数にアクセスする方法はありますか?
コンポーネントのshow()
機能を私のViewPage
から呼び出す方法を探しています。
コンポーネント
//component.html
<template>
<div id="sidebar"></div>
</template>
// component.css
#sidebar {
display: none;
}
// component.ts
import {bindable} from 'aurelia-framework';
export class Sidebar {
@bindable data: Array<string>;
show =() : void => {
// Shows this specific side bar
}
hide =() : void => {
// Hides this specific side bar
}
}
ビュー
// view.html
<template>
<require from="./sidebar"></require>
<sidebar data.bind="data"></sidebar>
<button click.delegate="showSidebar()"></button>
<template>
// view.ts
export class ViewPage {
data: Array<string> = ["Hello", "I", "Am", "Sidebar", "Content"];
showSidebar =() : void => {
// how to show the side bar component here??
// I need something like sidebar.show();?
}
}
こんにちはTom、これは正しい使い方です。私たちがプロジェクトで採用した優れた方法は、サイドバーの状態(可視かどうかを含む)を管理し、それを注入するサービスを作成することですビューにサイドバーを制御したいサイドバーがビューの子コンポーネントであると仮定して、ビューを切り替えるときにサイドバーのコンテキストを失うことがないという利点があります。 –