onDragEvent を定義するコントローラーがあります。
controller = Em.Object.create( {
onDragEvent: function() {
console.log("Drag Event");
}
});
そして、私はMixinを持っています:
Event = Ember.Mixin.create( {
attributeBindings: 'draggable',
draggable: 'true',
drag: function (event) {
Em.run.throttle(this, controller.onDragEvent, 1000);
}
});
私の理解では、ドラッグ中に controller.onDragEvent を 1000 ミリ秒ごとに呼び出す必要があります。
コンソールはログアウトしています:
Uncaught TypeError: Object function (a,b){var d,e;f.begin();try{if(a||b)d=c(a,b,arguments,2)}finally{f.end()}return d} has no method 'throttle' Events.js:42
Events.Ember.Mixin.create.drag Events.js:42
Ember.View.Ember.Object.extend.trigger ember-1.0.pre.min.js:16
d ember-1.0.pre.min.js:14
Ember.View.states.hasElement.handleEvent ember-1.0.pre.min.js:16
Ember.View.Ember.Object.extend.invokeForState ember-1.0.pre.min.js:16
Ember.View.Ember.Object.extend.handleEvent ember-1.0.pre.min.js:16
(anonymous function) ember-1.0.pre.min.js:16
c ember-1.0.pre.min.js:14
Ember.run ember-1.0.pre.min.js:14
Ember.EventDispatcher.Ember.Object.extend._bubbleEvent ember-1.0.pre.min.js:16
(anonymous function) ember-1.0.pre.min.js:16
f.event.dispatch jquery-1.7.2.min.js:3
h.handle.i
スロットル機能の使い方がわからないのは確かです。Em.Object.create
また、 vs.を使用していることにも気付きましたが、スロットルなしでEmber.Mixin.create
を呼び出しても問題なく動作します。controller.onDragEvent
私は間違って何をしていますか?
編集1:
私が使用する場合:
Event = Ember.Mixin.create( {
attributeBindings: 'draggable',
draggable: 'true',
drag: function (event) {
Em.run.throttle(controller, onDragEvent, 1000);
}
});
別のエラーが発生します。
Uncaught ReferenceError: onDragEvent is not defined
参考のため; 呼び出すだけで問題なくcontroller.onDragEvent();
動作します。