提供された JSON データを基に、基本的なグリッド レイアウトを提供する Backbone.js プラグインを作成しています。私の問題は、プラグイン自体を変更せずにイベントを View クラスにバインドする方法がわからないことです。そして、私はむしろこれをしたくありません.プラグインのユーザーがビューを拡張したり、そのプロトタイプを変更してカスタムイベントをバインドしたりできるようにしたいと思います.
プラグインのビューは、イベントがバインドされていない基本的なビューです。また、簡単にするために省略した他の関数もいくつか含まれています。
FlipCard.CardView = Backbone.View.extend({
tagName: 'div',
className: 'card',
// and more
});
別の app.js ファイルでプロトタイプ属性を使用してイベントをバインドしようとしましたが、トリガーされないようです。
FlipCard.CardView.prototype.events = {
'click .card' : 'alert'
};
FlipCard.CardView.prototype.alert = function(){
alert("hello!");
};
そして、私は .extend({}) 関数に精通していますが、プラグインにビューの拡張バージョンを使用するように何らかの方法で通知できない限り、それは機能しません...私はむしろやりたくない.
ここで何をすべきかについてのアイデアはありますか?
編集:ばかげたエラーであることが判明しました。ビューにはクラス「.card」があり、クリックイベントを「.card」にバインドしようとしていたため、「クリック.card」を入れる必要はありません。代わりに、イベントは次のようになります。
FlipCard.CardView.prototype.events = {
'click' : 'alert'
};