問題タブ [canjs-control]

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 に答える
353 参照

jquery - CanJsの要素に添付されたコントロールの名前を見つける

Canjs を使用して Web アプリケーションを構築しています。今、私はそれに取り組んでいる間に問題を抱えています。

コントローラーは単一の HTML 要素で変更され、その特定の要素に接続されたコントローラーは、新しいコントローラーが接続されても破棄されません。そこで、何か他のものを取り付ける前に、それに取り付けられているすべてのコントローラーを破壊することにしました。

2つのクエリが残っています

  1. 特定の要素に接続されているコントローラーを見つけるにはどうすればよいですか? .controller() が機能しないため

  2. 破壊を呼び出すにはどうすればよいですか?

よろしくお願いします。

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

jquery - CanJS クリックイベントの実装

プロジェクトに CanJS (js フレームワーク) を使用していますが、問題があります。

次のように book.js にいくつかのコードを書きました。

また、私のhtmlファイルは次のとおりです。

今、クラスgotoPrevPageイベントで div をクリックしてもエラーは表示されませんが、Chrome コンソールを使用して上記のイベントの 2 行のコードを書き留めると、POST が実行されて動作します。理由はわかりません。

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

javascript - CanJS テーブルクリックイベント

私はcanJSアプリケーションを書いていますが、これまでのところhtmlテーブルのクリックイベントの処理に成功しています。次のコードを使用します。

  1. td全体ではなく、テーブルの最初の列のクリックだけを聞く方法は?
  2. td (el) から特定の列のデータを取得する方法は?
0 投票する
1 に答える
1408 参照

model-view-controller - CanJS - コントロール通信

私は現在 CanJS を学んでいるので、非常に基本的な小さなデモを試してみたいと思います。デモでは、さまざまなタイプのモバイル リチャージ プランが上部 (ラジオ ボタン) に表示され、各プランを選択すると、対応する価格オプションが下部の表に表示されます。

このデモでは、2 つの Model 、2 つの Control 、および 2 つの Template ファイルを作成します。私の質問は、2 つのコントロールがどのように相互に通信できるかということです。標準的な方法は何ですか?

今のところ、インスタンスを介してコントロール メソッドを直接呼び出していますが、それが正しい方法かどうかはわかりません。Can.Routeについても教えてください。

出力 http://jsfiddle.net/sabhab1/2mxfT/10/

データ

モデル

コントロール

意見

メインコール

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

javascript - CanJS を使用してドキュメントでトリガーされるイベントのグローバル リスナー/コントローラーを設定する

おそらく一般的なユース ケースではありませんが、ドキュメントで発生するカスタム イベントがいくつかあり、アプリケーションはそれらをリッスンします。例: http://jsbin.com/uradod/3/edit

これをCanJSコントローラーに変換するにはどうすればよいですか? 私はこれに似たものでした: http://jsbin.com/uradod/6/edit。出来ますか?もしそうなら、どのように?

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

javascript - canjsは、レンダリング後にObserve.Listの要素にコントロールをアタッチします

一般的に問題は、Control でのクリック アクションが機能しないことです。

以下のコードでは、Observe.List を使用してアイテムを含むリストを生成したときの状況を確認できるため、リストに新しい要素が自動的に発生すると更新され (以下を参照)、init 関数の最初のコントロールで生成されます。

また、最初のコントロールでは、新しい要素がリストに追加されると、新しく生成された要素の「{files} add」メソッドにコントロールを追加します。

問題は、2 番目のコントロールのクリック イベントが機能しないことです。自動再生成 Observe.List が終了する前にそれをしようとしたためだと思います。その証拠は、jquery がまだ要素になっていないことです。

自動再生成 Observe.List によってレンダリングされる前に、Contol ( '{files} add' )を添付することは可能ですか? 新しい要素に適切な方法でコントロールを設定するにはどうすればよいですか? どういうわけかそれを視野に入れることはできますか?

リストのビュー:

リスト要素のコントロール。ここで問題です!

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

javascript - can.Control.defaults とオプションのマージ

can.js を使用すると、次のように制御できます。

.. そしてこのマークアップ:

..次に、そのコントロールのインスタンスを次のように作成すると:

私が期待するのは、単語がnewtext挿入されnested2た 2 つの div と単語が挿入された 2 つの div ですが、実際に表示されるのは単語がnewtext挿入された 2 つの div です。

ネストを使用しないようにオプション オブジェクトを変更し、すべてのオプションを最上位に配置する場合、問題はありません。

そのため、オプションをデフォルトとマージするときに、canJS がネストされたオブジェクトを正しくマージしていないように見えます。これは事実ですか?分岐せずにこの機能をサポートする方法を知っている人はいますか? それとも、明らかな何かが欠けていますか?これができれば、面倒なオプション作成コードをたくさん書く必要がなくなります。

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

javascript - CanJS 右クリック イベント

CanJSで右クリックイベントをバインドするにはどうすればよいですか?

私は次のことを試みましたが、クリックは左クリックのみをキャプチャすると思います(ev.whichは右クリックで3を記録しません)。

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

javascript - Can.js - can.Compute をプロトタイプに追加する

can.computecan.Controlインスタンス プロトタイプに追加するにはどうすればよいですか? 拡張を使用してインスタンス関数に渡そうとしていますが、クラスのすべてのインスタンスはコンピューティングの同じ単一のインスタンスを共有しています。

明らかに、これを init 関数で行うこともできますが、そうしないほうがよいので、将来これを継承するので、親の init を呼び出すことを覚えておく必要はありません。誰かがより良い方法を持っていることを願っています。

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

javascript - CanJS で子クリックから親イベント コールバックにデータを渡す

CanJS コントローラーでは、別のクリック ハンドラー内でクリック イベントを使用しています。子ハンドラーから親ハンドラーにデータを渡すにはどうすればよいですか

formData を this.options に入れたいです。herethisはのオブジェクトを表すため、クリックイベントsomeController内で直接使用することはできません。someFormButton

また、正しいアプローチに従っているかどうかを知りたいですか? シナリオをクリックするとsomeButtonSelector、フォームが表示されます。formData を現在のオプション オブジェクトに入れたい