私はKnockout.jsに基づいてコードベースをリファクタリングしており、問題に悩まされています。 コードは、テンプレートをtypescriptなどの補間された文字列として使用します。Knockout.js:変数を明示的にすべてのビューモデルに入れずにバインディングで使用できるように、すべてのビューモデルで変数を使用できるようにする方法は?
var template = `<div title='${Resources.string1}'> ${Resources.string1} </div>`
JavaScriptにコンパイルされた後に、文字列に単一引用符が含まれることがあり、時には適切なHTML解析が中断されるという問題があります。
私はそれがすべてのビューモデルで表示されるように、私はこの<div data-bind="title: Resource.string1"> ${Resources.string1} </div>
と同じように使用できるように、明示的にすべてのビューモデルにリソースオブジェクトを追加することなく、リソースのオブジェクトを公開する
var template = `<div title='I have a ' single quote'> I have a ' single quote</div>`
か私はこのリソースオブジェクトをバインドして、アプリ内のすべてのビューモデルからアクセスできます。
おそらく$ rootオブジェクト(http://knockoutjs.com/documentation/binding-context.html)をグローバルオブジェクトを保持するためのコンテナとして使用できます。 – TSV
すべてのビューモデルについて話しているときは、それらがメインビューモデルのすべてのサブビューモデルであるか、個々のビューモデルであることを意味しますか? –
@ Matt.kaaj個々のビューモデルです。 –