2012-03-20 3 views
2

メンテナンス性を向上させるために、きめ細かなJavascriptインクルードファイルの使用に興味があります。しかし、私は何かを欠いている。 Razorビューのコンテキストのセクションを「上書きする」か、または含むことはできますか?含まれているJavascriptの(別ファイルの)カミソリのタグ?

function CategoriesViewModel() { 
    var self = this; 

    self.searchMode = ko.observable("SEARCH"); // Wire up with Knockout.js 
} 

しかし、このスクリプトは私の.cshtmlカミソリビューの一部としてインラインであれば、私はこのような何かを行うことができるだろう::のには、私のJavascriptを言ってみましょうことは、次の通りである

function CategoriesViewModel() { 
    var self = this; 

    self.searchMode = ko.observable("SEARCH"); // Wire up with Knockout.js 
    self.categories = @Html.JSONFor(Model.LookupForCategories.Select(c => c.Text)); 
} 

(シンタックスの強調表示がなくても、サーバー側のASP.MVC ViewModelからJavascriptコード/データをまっすぐに置くサーバータグが含まれていることを指摘します)

Javascriptを別々のファイルにそれらを含めて、私はこの能力を失う。私が欠けている機能やテクニックはありますか?

+0

私はあなたが行っているかなり確信しています関数上にいくつかのパラメーターを追加することによって、サーバーデータをjavascriptに渡す必要があります。 –

答えて

1

悲しいことに、これはサーバサイドのフレームワークとjsを扱う際の共通の問題です。パラメータ化や変数の宣言は、グローバル変数として、あるいは共有オブジェクトのプロパティとして宣言しています。