2012-08-17 6 views
14

dev에 저장되어있는 경우 내 핸들 바 템플릿을 새로 고침하고 싶습니다.엠버 (라이브) 템플릿을 새로 고치는 방법은 무엇입니까?

이미 파일 저장시 알려주는 websocket 채널이 있습니다. 그 시점에서 script 태그 src의 해시를 업데이트하여 특정 템플릿을 강제로 다시로드 할 수 있습니다.

이 템플릿을 사용하는 모든 뷰에 새로 고침이 필요하고 새로 고침이 필요하다는 것을 어떻게 알릴 수 있습니까? (I 새로 고침을 트리거 어떻게 내가 그들을 찾을 수 있습니까?)

+0

어떤 HTTP처럼, 새로운 TEMPLATENAME에 영향을 미치는 약 : //stackoverflow.com/questions/9999064/ember-js-select-view-template-by-model-type-object-value/10006845#10006845. 그것은 당신을 위해 일할 수 있을까요? –

+0

아마도, 그것을 줄 것이다 –

답변

2

이론적으로, 당신은 Ember.View.views.filterProperty('templateName', nameOfUpdatedTemplate).set('template', Ember.TEMPLATES[nameOfUpdatedTemplate])을 할 수 있습니다. 다시 렌더링해야합니다.

나는 이것을 시도하지 않았으며 어떤 엣지 경우를 실행할 지 모르지만, 이것이 내가 생각할 수있는 가장 간단한 접근 방법이다.

+0

먼저 월요일, 감사합니다 그것을 시도 할 것입니다! –

+0

아니 이동 ...하지만 트릭을 찾았 내 대답을 참조 –

7

노트이 간단한 템플릿 작동 있지만이가는 얻기 콘센트

로 렌더링되는 것들에 대한 오히려 까다이었다

var js = "template.js"; 
var templateName = "template"; 

Ember.TEMPLATES["empty"] = Handlebars.compile("") 

// script loaders are the simplest way of getting a callback 
$LAB.script(js).wait(function(){ 
    $.each(Ember.View.views,function(){ 
    if(this.get('templateName')==templateName){ 
     this.set('templateName','empty'); 
     this.rerender(); 
     this.set('templateName',templateName); 
     this.rerender(); 
    } 
    }); 
}) 
+0

이것에 대해 궁금해 - 당신은 어떤 스크립트 로더/콜백을 받고 설명 할 수 있을까? –

관련 문제