現在、jQueryの.loadを使用してモデルを読み込んでいます。正常に読み込まれた後、読み込まれたモデルに依存するJavaScriptを実行したいと思います。
buildFindOrderDialog: function () {
workflowDialogContent.load('../../csweb/Orders/FindOrderDialog/', function () {
$.getScript('~/Scripts/FindOrderDialogModel.js');
workflowDialog.dialog('open');
});
}
loadメソッドは、ViewModelを返すOrderControllerのFindOrderDialogメソッドを実行します。これがロードされたら、FindOrderDialogModel javascriptを実行して、モデルのクライアント側に影響を与えたいと思います。
上記のコードはjavascriptを正しくロードしません。私は疑問に思っています:私のコントローラーはJavaScriptをロードするためのメソッドを提供する必要がありますか?クライアントには相対パスの概念がありません。
もちろん、スクリプトをFindOrderDialogビューでインライン化することもできます。これにより、ロード後にスクリプトが実行されますが、これはちょっとしたハックのようです。
更新:私の構文は少しずれていました。これは機能します:
buildFindOrderDialog: function () {
workflowDialogContent.load('../../csweb/Orders/FindOrderDialog/', function () {
$.getScript('../Scripts/Orders/FindOrderDialogModel.js');
workflowDialog.dialog('open');
});
},