1

これが私のセットアップです:

  • 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/12offices/15、実行されるのは、offices/shell.js 内の activate コールバックと、employees/index.js 内のコールバックだけです。

コンポジションを再アクティブ化する方法はありますか?

ありがとう!

4

0 に答える 0