0

knockout.js には、最も基本的なテキスト バインディングを使用した基本的な例があります。

Today's message is: <span data-bind="text: myMessage"></span>

<script type="text/javascript">
    var viewModel = {
        myMessage: ko.observable() // Initially blank
    };
    viewModel.myMessage("Hello, world!"); // Text appears
</script>

これは、チュートリアルhttp://knockoutjs.com/documentation/text-binding.htmlからそのまま です。実際のバインディング プロパティを定義する変数が必要な場合はどうでしょう。それは次のようになります。

Today's message is: <span data-bind="myBinding: myMessage"></span>

<script type="text/javascript">
    var viewModel = {
        myMessage: ko.observable(), // Initially blank
        myBinding: ko.observable(), // Initially blank
    };
    viewModel.myMessage("text");
    viewModel.myMessage("Hello, world!"); // Text appears
</script>

上記のコードは明らかに間違っていますが、正しいケースは何でしょうか?

私は ko.applyBindingsToNode (カスタム バインディング内で要素を動的にバインドできますか? ) のようなものを調べていましたが、今回は Google FU が完全に失敗しています。タイプを動的にバインドします。

4

1 に答える 1

1

Observable をカスタム バインディング タイプとして使用することはできません。Observable はデータを保存するためのものです。

Custom BindingまたはComputed Observablesのいずれかを使用して、必要な機能を取得できます。個人的には、これが一度だけ必要な特別なものである場合は、Computed Observable を使用してください。それ以外の場合は、カスタム バインドを使用してください。

于 2012-12-18T12:16:02.260 に答える