将hammerJS与emberJS集成

时间:2014-08-06 07:57:31

标签: ember.js hammer.js

我试图将HammerJS v2.0.2与EmberJS 1.6.1集成。

我使用了很多代码示例,但没有使用它们,我得到了不同的错误。让我们采取最简单的一个。 我实现了这个观点:

ListApp.ScrollerView = Ember.View.extend({
    setupTap: function() {

        var self = this;
        this.hammer = new Hammer(this.get('element'));

        console.log(this.get('element'));

        var tap = new Hammer.Tap();

        tap.set('enable', true);
        this.hammer.add(tap);

        this.hammer.on('tap', function() {
            console.log('before tap!');
            self.tap();
        });

    }.on('didInsertElement'),

    tap: function() {
        console.log('tap!');
    }
});

但是在加载页面后出现以下错误:

Uncaught TypeError: Object.keys called on non-object 

我知道为什么会看到这个?

1 个答案:

答案 0 :(得分:1)

<强> Here is working bin with hammer integrated to a view.

这里是关于如何将锤子集成到视图中的相关代码

App.Hammer = Em.View.extend({
  templateName: 'hammer',

  setupTap: function() {
    Hammer(this.$()[0]).on("tap", this.tap.bind(this));

  }.on('didInsertElement'),

  tap: function() {
    alert('My tamplate name is ' + this.get('templateName'));
  }
});