0

Knockoutjs Docsから、私はこの文を理解していません:
テンプレートは既にこの要素に注入されていますが、まだバインドされていません。

ko.components.register('my-component', {
viewModel: {
    createViewModel: function(params, componentInfo) {
        // - 'params' is an object whose key/value pairs are the parameters
        //   passed from the component binding or custom element
        // - 'componentInfo.element' is the element the component is being
        //   injected into. When createViewModel is called, the template has
        //   already been injected into this element, but isn't yet bound.

        // Return the desired view model instance, e.g.:
        return new MyViewModel(params);
    }
},
template: ...
});
4

2 に答える 2

1

新しい MyViewModel(params);

MyViewModel目的のビュー モデル インスタンスです。ノックアウトで使用するファクトリーデザインのパターンです。

関連する要素がビューモデルにバインドされる前にセットアップ ロジックを実行する場合、またはインスタンス化するビューモデル クラスを決定するために任意のロジックを使用する場合: の役割がここにあり factory functionます。

ビュー モーダルは、実行時のロジックに基づいて選択されます。


テンプレートはすでにこの要素に挿入されていますが、まだバインドされていません。

目的のビュー モーダルを返すと、ko.components.

于 2015-01-01T10:08:26.450 に答える