これが私のセットアップです:
- shell.js (メイン ルーターを含む)
- shell.html
- オフィス
- shell.js (子ルーターを含む)
- shell.html
- sidebar.js
- sidebar.html
- 従業員
- index.html
- index.js
メイン シェルには、そのオフィスの一部である従業員のリストを含むオフィス ページへのルートが含まれています。
{ route: 'offices/:id', moduleId: 'offices/shell' }
サブシェルには、オフィス ページのサイドバーを指すコンポジションが含まれています。
<aside data-bind="compose: { model:'offices/sidebar', view:'offices/sidebar' }"></aside>
問題は、sidebar.js 内の activate コールバックが最初にページをロードしたときにのみ実行され、ルートの id パラメータが変更されたときに実行されないことです。
したがって、 から に変更するoffices/12
とoffices/15
、実行されるのは、offices/shell.js 内の activate コールバックと、employees/index.js 内のコールバックだけです。
コンポジションを再アクティブ化する方法はありますか?
ありがとう!