2012-04-05 6 views
0

Emberjs를 사용하는 응용 프로그램에서 모든 동작이 한 번의 클릭으로 3 회 트리거됩니다. Emberjs - 한 번의 클릭으로 동작이 3 번 실행됩니다.

다음 템플릿과 전망 예 :

템플릿 : 클릭 핸들러와

<button {{action "removeFoo"}}>remove</button> 

보기 :

listsView = Ember.View.create({ 
    templateName: 'lists', 

    removeFoo: function(event) { 
    event.preventDefault(); 
    console.log(new Date().valueOf()); 
    } 
}) 

나는 콘솔에서 다음 3 개 출력을 얻을 :

1333634360209 
1333634360215 
1333634360217 

누가이 문제의 원인인지 또는 문제를 디버깅하는 가장 좋은 방법을 알고 있습니까?

답변

2

를 참조하십시오. 그 Ember 앱에는 rootElement이 지정되지 않았습니다. 모든 Ember 앱에 rootElement을 추가하면 문제가 해결되었습니다.

1

여러 번 호출되는 이유가 확실하지 않지만 의도적으로 Ember.View#remove을 무시하고 있습니까? 그래서 당신은 아마 ... this._super() 그래서 요소 등을 파괴하는 것이

를 호출 할 수 있습니다 경우 다음 소스에서 그것의 정의이다 : 그것은 당신의 의도가 아니었다면 https://github.com/emberjs/ember.js/blob/master/packages/ember-views/lib/views/view.js#L770

, 당신은 할 수 있습니다 당신의 행동을 다른 것으로 부르며 문제가 해결되는지 확인하십시오.

+0

죄송합니다. 제 조치의 이름이 실제로 다르게 지정되어 있습니다. 나는 그 모범을 바꿨다. 힌트를 가져 주셔서 감사합니다. –

+0

아, 문제 없어요. jsfiddle.net에서 복제 할 수 있습니까? @ pangratz에 따르면, 지금 당장은 잘 작동하는 것 같습니다. – rlivsey

0

0.9.6 잘 작동 최신 Ember.js 버전을 사용하여, 엠버 응용 프로그램은 두 개의 다른 엠버 이미 애플 리케이션했다 Rails 애플리케이션의 일부라고, 실제 문제가 있었다 http://jsfiddle.net/pangratz666/BxccU/

관련 문제