問題タブ [ko-custom-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2054 参照

knockout.js - Knockout.js - カスタム バインディングを調整する方法

オートコンプリートを処理するカスタム バインディングがあり、ユーザーがオートコンプリートからアイテムを選択すると、サーバーと通信して text_field を短縮名に置き換えます。問題は、これにより、カスタム バインドの「更新」機能が 2 回トリガーされることです。

Knockout.js コード (編集: 以下は CoffeeScript であることに注意してください):

意見

カスタム バインドにスロットルを適用する方法はありますか?

サーバーから返された short_name に task.name を設定したときに、カスタム バインディングの 'update' 関数が 2 回目のトリガーになるのを止めたいだけです。

0 投票する
1 に答える
2399 参照

knockout.js - knockout.jsとカスタムバインディングを無効にする

JQueryを使用してクラスを割り当てて無効にするのではなく、カスタムバインディング内でdisabledとcssをバインドしたいと思います。実行せずにカスタムバインディング内でこれを実行できますか$(element).attr('disabled', true).addClass('disabled');

0 投票する
1 に答える
2836 参照

knockout.js - カスタム バインディング ハンドラ、文字列テンプレートからバインディングをレンダリング

オプションである必要がある行テンプレートを使用してカスタム バインディングを作成します。ユーザーがテンプレート ID を提供しない場合は、デフォルトの ID を使用したいのですが、本文のスクリプト タグに存在せず、オプション リテラルの単なる文字列です。

文字列をテンプレートとして使用するにはどうすればよいですか?

デフォルトのテンプレートは、このような非常に簡単なものでなければなりません

ko.renderTemplate を試してみましたが、タグをスクリプト化するには ID しか必要ありません

更新 この質問に関する通知を受け取ったところ、テンプレートを dom に挿入し、標準のスクリプト タグ プロバイダーを使用するという提案があったことがわかりました。ただし、これは、ユーザーがデフォルトのテンプレート ソースをオーバーライドできることを考慮していません (単一のプラージュ アプリケーションでの一般的なシナリオ。私はこの方法を使用します。最初にデフォルトのテンプレート プロバイダーを試してから、このような文字列テンプレート ソースにフォールバックします)。

完全なコードと stringTemplateEngine コードは、 https://github.com/AndersMalmgren/Knockout.Combobox/blob/master/src/knockout.combobox.js#L297にあります。

0 投票する
2 に答える
574 参照

knockout.js - 編集可能な文字列の knockoutJS カスタム バインディング

変更が必要なテキスト データを Web ページに表示することがよくあります。

現在、私はカスタム mouseEvent ハンドラーを作成しdivて、observable-boundspanがマウスオーバーされた状態で「編集」ボタンをポップ表示します。ユーザーがクリックすると、spanvia visibleknockoutJS バインディングが非表示になり、テキストinputが表示されて編集できるようになります。タブで、編集の変更を保存し、更新されたものspanを再度表示します。

このすべての機能を含むカスタム オープンソース KOJS バインディングはありますか。タスクは非常に一般的であり、KO はそれをエレガントに実装するための優れた基盤を持っているように見えるので、私はそれを書くように求めているわけではありません。

0 投票する
1 に答える
1513 参照

knockout.js - 仮想カスタム バインド

私は、可視性バインディングを持つことができるようになりたいというシナリオを持っています。そして、私はそれが仮想であることを望んでいます。

このフィドルは私の問題を解決しますが、それの bindgHandler が必要です。私が解決したい問題は、ブロック プロパティが true の場合、要素が HTML のスペースを占有する必要があり、必要のないものをレンダリングしたくないということです。

http://jsfiddle.net/7ENpC/1/

私はもちろん、これを行うことができるようになりたいです。

bindingHandler で私がすることはすべてです


私はそれを正しく理解できません...誰かが私を正しい方向に助けてくれますか.

0 投票する
1 に答える
4477 参照

knockout.js - カスタム バインディング内で要素を動的にバインドできますか?

カスタムバインディング内から要素をバインドする方法はありますか? たとえば、カスタムバインディングがあり、それにバインドして、アイテムの監視可能な配列を作成します。

ここで、myBinding に、バインドされた div 要素内の「someArrayOfItems」からのすべての要素を一覧表示するようにします。

カスタムバインディングを使用してそのような操作を行うことは可能ですか? 助けてくれてありがとう。

0 投票する
1 に答える
1659 参照

knockout.js - カスタム バインディング、バインディングと init を使用 - knockout.js

複数のビュー モデルで構成される SPA にノックアウトを使用しています。どのビューを表示するかを処理するために、「サブ」ビュー モデルを bindings でバインドする div をラップしました。

私たちが目にしている問題は、ビューの可視性が切り替えられると、その中のカスタム バインディングが毎回実行され、初期化と更新の両方が行われることです。

これは、このjqdialog バインディングに基づくバインディングがあり、init ごとに新しいダイアログが作成されて DOM に追加されるときに問題を引き起こしますが、それをいつ削除する必要があるかを知る簡単な方法はありません。

多かれ少なかれ、アーキテクチャのこの部分を再配置する必要があるかどうか、またはバインディングに何かが欠けているかどうかが問題です。

単純なビュー:

J:

</p>

エラーを大まかに示す小さなフィドル。

0 投票する
1 に答える
798 参照

knockout.js - KO カスタム バインディング writeValueToProperty が失敗する

特別な数値書式設定用のカスタム バインドを作成しようとしています。

フィドルでも利用可能http://jsfiddle.net/PAFTR/11/

しかし、更新に失敗します (firebug によると: TypeError: ko.expressionRewriting.writeValueToProperty は関数ではありません)。

0 投票する
2 に答える
235 参照

knockout.js - Knockoutjsカスタムバインディングスタイルの子

カスタムバインディングがあります。

私のinit関数でこれを行います。スタイリングが必要な入力ボックスを追加します。

私はこれがうまくいかないことを知っていますが、誰かが私がそれを正しく行うのを手伝ってくれませんか。

0 投票する
1 に答える
270 参照

knockout.js - ボタンのノックアウトカスタムバインディング

カスタムバインディングの作成に問題があります。私が理解していることから、バインディングの更新コールバックは、ビューモデルが変更されるたびに発生するはずです。

小さな例を作成しました。

http://jsfiddle.net/alexmaie/pbEmS/

そこで、ボタンにバインディングを取り付けます。バインディングの更新は一度実行され、その後、オブザーバブルのデータを変更しても、二度と実行されません。

このアプローチを使用して、canExecuteバインディングを実装したいと思います。