2012-10-05 2 views
1

여기는 fiddle입니다. 내 로컬 파일의 내용이 gist입니다.이 Ember.js 앱이 jsFiddle.net에서 로컬로 작동하지 않는 이유는 무엇입니까?

HTML과 JavaScript는 동일하며 동일한 버전의 jQuery, Handlebars.js 및 Ember.js 라이브러리를로드하고 있습니다. 로컬에서 예상대로 작동하지만 jsFiddle.net에서 응용 프로그램 템플리트를 렌더링하지 않습니다.

나는 웹 콘솔에서 다음과 같은 오류를 참조하십시오

[19 : 44 : 18.202] 오류 : 주장 실패 : 당신은 https://github.com/downloads/emberjs/ember.js/ember-latest.js:51

@ Ember.addListener 적어도 객체 및 이벤트 이름을 통과해야합니다 BTW- 요점을 로컬 HTML 파일로 테스트하려면 웹 서버 뒤에서 실행해야합니다. 그렇지 않으면 브라우저가 JavaScript 라이브러리를 다운로드하지 않습니다. 설치가 얇은 경우 (루비 웹 서버) 디렉토리가있는 디렉토리로 가서 thin -A file start을 실행 한 다음 브라우저에서 localhost : 3000/jsfiddle-problem.html을 탐색합니다.

답변

0

이상한 일이었습니다. 자동 완성 기능을 사용 중지 할 때까지 사용자의 피들링 기능을 사용할 수 없습니다. 특히 {{controller.foo}} 전화를 걸었습니다. jsfiddle을 사용할 때 응용 프로그램 초기화가 라우터를보기 전에 시작될 것이라고 추측합니다. 나는 또한 귀하의 바이올린과 라우터가 enableLogging을 true로 설정해도 출력이 로깅되지 않는 것으로 나타났습니다.

자동 업데이트 (http://jsfiddle.net/zS5uu/4/)를 사용하지 않도록 피들을 업데이트했습니다. 나는 ember-latest의 새로운 버전이 오늘 발표 된 것을 알고있다. 초기화에 관한 것이 바뀌 었는지 궁금하다.

3

"onLoad"이외의 옵션 중 하나로 피벗의 "코드 줄 바꿈"구성을 설정하면 응용 프로그램이 작동합니다. 다음은 example입니다.

Ember는 Ember.Application.autoinit을 false로 설정하지 않은 경우 jQuery 준비 이벤트가 발생하면 응용 프로그램을 초기화합니다. jsFiddle "코드 랩"구성을 "onLoad"로 설정하면 jQuery 준비 이벤트가 발생하고 Ember가 자동 초기화 된 후 응용 프로그램이 문서에 도입됩니다.

$(). ready로 전달 된 처리기 함수에서 수행되는 Ember 자동 초기화를 설명하는이 서신에서 취한 ember-latest에서 아래 스 니펫을 참조하십시오.

if (this.autoinit) { 
    var self = this; 
    this.$().ready(function() { 
     if (self.isDestroyed || self.isInitialized) return; 
     self.initialize(); 
    }); 
} 
관련 문제