0

label要素内に要素を作成し、input新しく作成された入力値をビューモデルに既に設定されているオブザーバブルにアタッチするバインディングハンドラーを作成しています。

しかし、これは私が思っていたよりもトリッキーです.Observableを渡す方法がわからない.

では、どうすればこの結果を達成できるのでしょうか。

現在、私はこのような値を渡しています

data-bind="input: {placeholder: 'Username', value: username, class: 'input'}"

テンプレートを作成することで同様の結果が得られることは知っていますが、そのような方法があるのだろうか? それは私にはるかに柔軟性を与えるでしょう.

4

1 に答える 1

1

Knockout は、ko.applyBindingsToNode必要なことを行う関数を公開します。要素を作成しinputたら、次のようにバインディングを設定する必要があります。

ko.applyBindingsToNode(input, function() {
    return {
        value: valueAccessor().value
    };
});

Knockout のバージョン 3.0 以降では、次の方法も使用できます。

ko.applyBindingAccessorsToNode(input, {
    value: function() {
        return valueAccessor().value;
    }
});
于 2013-02-07T02:19:01.450 に答える