問題タブ [kendo-mvvm]
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.
javascript - KendoUI - 繰り返し関数を抽出した後、UI が更新されない
いくつかの繰り返しロジックを持ついくつかのコレクション プロパティを持つビュー モデルがあります。新しい空のオブジェクトを追加し、オブジェクトを削除し、すべてのコレクションに少なくとも 1 つのオブジェクトがあることを確認する必要があります。それが唯一のオブジェクトである場合は、[削除] ボタンを無効にする必要があります。
これらの一般的な関数を抽出するために、 k を拡張しましたendo.data.ObservableArray
。
問題はhasMoreThanOne
機能にあります。単一の要素で配列を作成すると、「削除」ボタンが無効になりますが、新しい要素を追加すると有効になりません。
UI を更新するには kendo のget
関数を呼び出す必要がありますが、プロパティ名を参照するパラメーターが必要であり、これは のインスタンスごとに異なるため、 、 などのCoolObservableArray
コレクションごとに繰り返し関数を記述する必要があります。どうすれば回避できますか?それ?deleteXXXEnabled
deleteYYYEnabled
問題の再現に関するフィドルは次のとおりです。http://dojo.telerik.com/AFOMa/2
javascript - MVVM 使用時にビューモデルで Kendo コントロールを取得する方法
次のようないくつかのコントロールを含む単純なページがあります。
次に、ビューモデルを作成してバインドするために、次のようなことを行います。
ページには複数のコントロールがあるため、すべてこの方法でバインドします。
vm の内部:
これは機能しますが、使用しているパネル バーにはメソッドとイベントがあり、それらを使用したいと考えています。
これまでのところ、viewModel 内で組み込みのメソッドとイベントを使用したい場合は、次のようにする必要があります。
そして、オブザーバブルを取得して検査しようとすると、次のようになります。
剣道の組み込みメソッドはなく、自分で定義したものだけです。
車輪を再発明して、既に配置されているはずのすべてのメソッドを再実装したくないので、ActionMenu を取得して「kendoPanelBar」機能にアクセスする方法はありますか?
結局のところ、それらは同じコントロールなので、代わりに次のように機能させる方法があるに違いないと思います。
何か案は?この特定の例は panelBar に関するものですが、他のすべてのコントロールにも同じ質問が当てはまります。前もって感謝します
kendo-ui - 別のビューモデルから MVVM を使用して剣道ドロップダウン リスト コントロールでテキストを取得できません
次のように定義された単純なドロップダウン リストがあります。
別の div には、単純なポップアップ ウィンドウがあります。
そして、それはすべて ActionMenu div の下にラップされています。
私の問題は、ウィンドウ ビュー モデルから選択したテキストを取得する方法がないことです。
私がこのようなことをすると:
これは、選択されたテキストではなく、常に最初のテキスト「オプション A」を返します。
簡単なことのように思えますが、これまでのところ、選択したテキストを取得することはできません。
私も試しました:
私も試しました:
これは機能しません。
また
常に最初のオプションを返します。
私の問題は、あるビューモデルの現在の値を別のビューモデルから取得しようとしていることだと思います。
それを行う方法はありますか?
kendo-ui - データソースの配列をどのように使用しますか?
データソースの配列があり、data-bind 属性でバインドしたい
テンプレート3:
ビューモデル:
そして、私はエラーが発生します:
Uncaught ReferenceError: y が定義されていません
javascript - Kendo UI TimePicker は keyup イベントで change イベントを発生させます
私は TimePicker を持っており、keyup イベントをバインドしたいと考えています。以下のコードは機能しません。
TimePicker テキスト ボックスを手動で編集して timePicker を変更すると、keyup イベントが発生しません。選択ボタンを使用して日付を選択した場合にのみ正常に機能します。timepicker の keyup イベントで change イベントが発生することはありません。
data-binding - カスタム剣道ウィジェットが viewModel を更新しない
datepicker をカスタマイズして拡張しようとしています。まず、Binder を customValue で拡張しました。
次に、DatePicker ウィジェットを拡張しました。
カスタム バインダーのメソッド 'refresh' は、ビュー モデルが変更されるとトリガーされるため、ビュー モデルからウィジェットにデータを流すことができます。それはうまくいきます。しかし、ウィジェットからビューモデル (逆フロー) へのバインドに問題があります。最初は、datepicker の変更が「customValue」バインダーの「change」メソッドをトリガーすると思っていましたが、そうではありません。CustomDatePicker.onChange メソッドがトリガーされますが、その中で view-model がスコープ外であるため、view-model を設定できません。私の質問は、ウィジェットの値が変更されたときにビューモデルを更新する方法ですか? アドバイスありがとう。
イラストウィジェットのみが次のように初期化されます。
javascript - Kendo MVVM でイベントを他の UI コンポーネントの関数にバインドする
Kendo UI で、別の UI 要素 (ウィジェット) の機能を参照するベスト プラクティスは何ですか? MVVMの方法?
たとえば、グリッドとボタンの両方があるとします。ボタンがグリッドの AddRow 関数をトリガーするようにします。このために、次の html があるとします。
私のビューモデルは次のようになります。
行のコメントを外してこのようにすると、においがします。実際には観察できないように見えますが、純粋な DOM バインド イベントです。
_grid をビューモデルのプロパティまたは関数として個別に保存するなどの代替手段も、同様に非効率的です。
しかし、もちろん、上記の疑似サンプルが示すように、これが希望に満ちたシナリオもあります。間違いなく、私はここで間違った方向を見ています。そのため、ヒントやベストプラクティスをいただければ幸いです。