2014-12-17 5 views
1

나는 망치를 사용하려고 해요 : 유성 1.0.1와 망치 2.0.4_2 패키지를 나는 다음과 같은 오류 받고 있어요 : 나는 것을 생각추적기 afterFlush 오류

Exception from Tracker afterFlush function: undefined is not a function TypeError: undefined is not a function

을 이 오류는 도우미 블록 때문에 아직 렌더링되지 않은 DOM과 관련이 있습니다. 지금까지 나는 이것에 대한 답을 어디에서도 발견 할 수 없었다. 다른 사람이 같은 오류가 있거나 어떻게 해결할 수 있는지 알고 있습니까? 어떻게하는 독립 실행 형으로


클라이언트/profile.js

Template.myTemplate.rendered = function() { 

    this.$('body').hammer({   <-- Line of the Error in Console.. 
     drag_min_distance:1, 
     swipe_velocity:0.1 
    }) 
} 

Template.myTemplate.events({ 
    'press #mcPress': function() { 
     console.log('yay!') 
    } 
}) 

클라이언트/profile.html

{{#with thisUser}} 

    // some html stuff 

    <div id="mcPress">Some content</div> 

{{/with}} 

답변

1

Hammer.js (공식 패키지 제공) 이 아닙니다. jQuery plugin과 함께 제공되므로 수동으로 jQuery 플러그인을 직접 추가하지 않으면 해당 구문을 사용할 수 없습니다.

해당 패키지의 로컬 포크를 실행하고 플러그인을 설치하는 것은 꽤 쉽습니다. (아직 이것을 공개하지 않았습니다. 아직 분위기 공간 네임 문제에 대해 매우 민감합니다.) 또는 페이지로드시 플러그인을 포함 할 수 있습니다. 어쨌든 구문이 작동해야하거나 실패하면 core docs에 설명 된 비 jQuery 구문을 사용해야합니다.

+0

아 나는 그것을 보지 못했다. 답변 해주셔서 감사합니다! –

+3

@richsilv에서 언급 한 것 외에 실제로 패키지화 된 해머의 버그가 있습니다. 해머 2.0.4_2 릴리스 (11 월 29 일)로 인해 JQuery 이외의 구문으로 인해이 오류가 발생합니다. 'meteor add hammer : hammer @ = 2.0.4_1'이 2.0.4_1 릴리스를 사용할 수 있습니다. (적어도 비 JQuery에서는 작동하지 않습니다) – strack

+0

@richsilv 잠시 지났지 만, non-jQuery 구문은 Meteor'Template.myTemplate.events ({}) '구문과 함께 작동합니까? –