2016-10-16 4 views
0

Ember.js 앱 위에 튜토리얼을 추가하는 스크립트를 작성하고 있습니다. 문제는 스크립트가 Ember 앱에 의해로드되어야하는 요소를 참조하고 있다는 것입니다. 스크립트가 실행되면 onload을 실행 중이지만 요소가 아직로드되지 않습니다.Ember 앱 위에 javascript를 실행하십시오.

Ember가 페이지로드를 완료했는지 어떻게 알 수 있습니까? 나는 컨트롤러/템플릿/컴포넌트 이름을 알고 있지만 로딩이 완료된 후 스크립트가 실행되도록 지정하는 방법을 알지 못합니다.

답변

3

Ember가 렌더링 한 후에 실행되도록 코드를 예약해야하는 것처럼 들립니다. 이처럼 수행 Ember.Application에서

Ember.run.scheduleOnce('afterRender', this, yourFunction); 
0

ready 이벤트는로드 엠버 응용 프로그램 루트 요소입니다.

응용 프로그램 준비가 완료되면 라우팅이 시작되기 전에 호출됩니다. DOM이 준비 될 때까지 호출이 지연됩니다.

참조 : http://emberjs.com/api/classes/Ember.Route.html#event_didTransition : 당신이 경로를 알고 있다면 app.js

App = Ember.Application.extend({ 
    modulePrefix: config.modulePrefix, 
    podModulePrefix: config.podModulePrefix, 
    ready: function() { 
     //this place you can write down your javascript code. 
    }, 
    Resolver 
}); 

에서 http://emberjs.com/api/classes/Ember.Application.html#event_ready

, 다음 didTransition

didTransition() { 
     Ember.run.scheduleOnce('afterRender', this, function() { 
     //your script code 
    }); 
} 

참조하십시오. http://emberjs.com/api/classes/Ember.Component.html#event_didInsertElement

: 구성 요소를 알고있는 경우

, 다음 didInsertElement 참조를 시도

관련 문제