0

コンテナー ページ Index.html (これはマスター ページとして扱うことができます) があり、そこでさまざまなページ Home.html、people.html をロードし、各ページには独自のビューモデル js ファイル (Home.js、people.js) があります。 . Home.html から People.html に移動します。Home.js で Ajax 呼び出しを行い、People.html ページに移動したときに People.js でフェッチするデータが必要です。PublishOn と SubscribeTo を使用してみましたが、結果が得られません。main.js で変数を作成しようとしましたが、Home.js と people.js の両方で使用することを考えました。$root を使用してアクセスできます。しかし、これはHtmlページでのみ実行できますが、Jsでは実行できません. 私の問題文が明確であることを願っています。**注:** 構成には RequireJs も使用しています。

これについて私を助けてください。

4

1 に答える 1

0

データが真にグローバルである場合、1 つの方法は、新しい AMD/RequireJS モジュールを作成し、それを ViewModels でHome.htmlおよびの依存関係として識別することですPeople.html。次に、この共有モジュールでデータを管理します。Ajax 呼び出しを Home の ViewModel からこの新しい共有モジュールに移動したくなるでしょう。

Using$rootは、ビュー間の暗黙的な契約を作成します。これは維持するのが難しく、子ビュー パラメーターを使用して関係を文書化する方がよいと言う人もいます。データがグローバルではなく、特定のビューの 2 つの子ビュー間でのみ共有される場合は、パラメーターを介して子ビューにデータを渡すことができます。Knockout コンポーネントまたは Oracle JET モジュールを使用していますか? どちらも、親 View から子 ViewModel にパラメーターを渡すことができます。

于 2016-06-25T03:59:48.387 に答える