したがって、コンポーネントとカスタム要素の導入により、ロジックとマークアップをカプセル化する方がはるかに簡単に思えますが、viewmodel を渡す必要がある場合に foreach セクション内でコンポーネントを使用する方法が少しわかりません。
したがって、私の現在のシナリオは、次のようなビューモデルがあることです。
function SomePartialViewModel()
{
this.Name = ko.observable();
this.Score = ko.observable();
this.SomeDate = ko.observable();
}
function SomeViewModel()
{
this.DataFromWebServiceCall = ko.observableArray();
this.GetDataFromServer = function(){
// get some data from service and populate DataFromWebSeriviceCall with instances of SomePartialViewModel
}
}
上記では、部分データを含む POJO があり、Web サービスなどに接続し、その配列に部分データのインスタンスを入力するビューのメイン ビュー モデルがあります。次に、これは現在次のように使用されます。
<div id="partial-data" data-bind="template: { name: 'partial-view', foreach: DataFromWebServiceCall }"></div>
<div class="partial-view">
<label data-bind="text: Name"></label>
<label data-bind="text: Score"></label>
<label data-bind="text: SomeDate"></label>
</div>
.partial-view
が正しいテンプレート名などのスクリプト タグにあり、正しいテンプレートであると仮定すると、#partial-data
はメイン ビューにあり、ページにすべてのインスタンスを表示する必要があります。現在はすべて機能していますが、よりコンポーネントベースのモデルに移行したいと考えています。現在、テンプレートは SomePartialViewModel データに依存していることがわかります。そのため、そのコンポーネントのテンプレートとビューモデルがありますが、問題は周りにあります現在、セットアップ時にコンポーネントを登録しているため、ビューモデルをコンポーネントに取得し、params を使用してそのチャンクを設定します。ただし、この場合、バインド時にビューモデルをコンポーネントに渡したい...
コンポーネントをテンプレートに登録することはできますが、ビューモデルは登録できないと思いますが、プロパティを設定してテンプレートから foreach に移動data
できるスタイルバインディングの概念はありますか?$data
ビューにバインドしますか?
うまくいけば、私が解決しようとしている問題が見られ、どんな情報でも素晴らしいでしょう.