問題タブ [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 投票する
1 に答える
392 参照

knockout.js - KnockoutJS UI ヘルパー バインディング

KnockoutJS を使用していくつかの UI 自動化に取り組んでいます。私の質問はかなり単純です。KnockoutJS を使用しているときに、次のようなものを作成したいと思います。

カスタムバインディング付き。最終結果は次のようになります。

私が試してみました:

しかし、これは

インディング。第二に、バインドされたプロパティの名前を取得する方法は、非常に不自然に感じられます。誰かが私をより良い解決策に導くことができるかもしれません。

どうぞよろしくお願いいたします。カルロス

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

knockout.js - カスタム バインドは、本番環境のスクリプト バンドルでエラーをトリガーします

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

これは、Visual Studio からデバッグ モードで実行すると正常に機能します。「ベンダー」スクリプトを次のようにバンドルしています。

サーバーにデプロイしてベンダー スクリプト バンドルを使用すると、上記の行に示されているようなエラーが表示されます$(element).datetimepicker(options);。エラーは次のとおりです。

オブジェクト [object Object] にはメソッド「datetimepicker」がありません

これが開発では機能するのに本番環境では機能しない理由がわかりません。本番環境では、datetimepicker JavaScript が見つからないようです。

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

javascript - knockout.js で nl2br のカスタム バインディングを作成する

" " 要素内の " /n" を " "に置き換えるカスタム バインディングを作成しようとしています。<br /><p>

コンセプトはだいたい理解できますが、うまくいくのに苦労しています。誰かが私が間違っているところを提案できますか? /n" " ではなく" "を使用して実際の値を保持したいので、計算されたオブザーバブルを使用したくありません<br />

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

knockout.js - カスタム バインディングから標準のノックアウト クリック バインディングを呼び出す

KnockoutJS で「条件付きクリック」バインディングを作成したいと思います。基本的に、これは Knockout で使用するような標準のクリック バインディングですが、添付された機能を実行するには条件を満たす必要があります。私の場合、最適なオプションは、許可されている場合は標準のクリック バインディングを呼び出すカスタム バインディング ハンドラを作成することです。

標準のクリック バインディングをすべてこのカスタム バインディングに置き換えたいと考えています。したがって、HTML で提供されるすべてのパラメーターが関数に渡されるように、正しい方法でクリック バインディングを呼び出すことが重要です。例えば:

これらを置き換える必要があります

カスタムバインディングの足りない部分を教えていただけると助かります。

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

knockout.js - トリガーされないカスタム バインディングの更新イベント

これは私の HTML です。

私はノックアウト js の世界の初心者ですが、強力なフレームワークのように見えるので、次のプロジェクトで使用することに非常に興味を持っています。しかし、自分のコードでそれを機能させることができなかったため、knockoutjs カスタム バインディングがどのように機能するかを理解するのにいくつかの障害があります。実際には、以下のコードのように、自分で小さな実験を行いました。

これは私のhtmlファイルの私のコードです:

これは私のjavascriptです:

私の質問は、なぜボタンをクリックしても、knockoutjs bindingHandler で更新イベントがトリガーされないのかということです。私は何を間違えましたか?

0 投票する
3 に答える
1763 参照

javascript - Knockout カスタム バインディングの連鎖

その中で foreach バインディング機能を呼び出し、その後コールバック関数を呼び出したい Knockout カスタム バインディング ハンドラーがあります。これを行おうとすると、「Uncaught Error: You cannot apply bindings multiple times to the same element.」エラーが発生し続けます。

私のカスタム バインディングは非常に単純です (typescript):

これを構築する際に欠けているものはありますか?

ありがとう!

編集:

コールバック関数

データ バインド署名 (「with」バインディング内にある):

0 投票する
0 に答える
637 参照

templates - foreach がネストされたテンプレートを使用した Knockout Custom Binding

独自のノックアウト モデル内にそれぞれ 4 つのネストされたリストがあるという問題があります。フォームにはページがあります。ページにはセクションがあります。セクションにはグループがあります。グループにはコントロールがあります。グループを除く各レベル (ページ、セクション、グループ、コントロール) は、独自のレベル内で並べ替えることができます。私が抱えている問題は、リストを含むテンプレートでカスタム バインディングを使用しようとしていることです。テンプレートを使用するにはカスタム バインディングが必要ですが、同じバインディングで要素を並べ替え可能にしたいとも考えていました。私はそれをうまく機能させましたが、コンテキストを失いました。コントロール要素で ko.dataFor を実行すると、必要なコントロール モデルではなく、セクション モデルが得られました。そして ko.ContextFor $parents 配列は、チェーンバックする必要があるときに空でした。ノックアウトのみの2.3デバッグバージョンにあると思われるrendertemplateforeachを使用しています。どんな助けでも大歓迎です。

各レベルに独自のバインディングが必要なのか、それともすべてが 1 つの大きなバインディング関数に組み込まれるのかはわかりません。

これがサンプルコードです。100% 機能していません。コントロールが表示されません。


サンプルコード <-- リンク

};