2014-06-14 3 views
0

안녕하세요, 저는 모두 MeteorJS에서 템플릿을 다시 렌더링하려고합니다. UI.renderWithData를 사용하고 있습니다. 아래 코드는 내가 가진 것처럼, 문제는이 UI.renderWithData (Template.numbers, {numbers : [11,12,13,14,15]})로 템플릿을 렌더링하는 것입니다. 변경되지 않습니다. 숫자 값은 숫자 값이 ([1,2,3,4,5,6,7,8])로 유지됩니다. 내가 무엇이 누락 되었습니까? 데이터로 렌더링 된 MeteorJS

Template.numbers.helpers({ 
      numbers: [1,2,3,4,5,6,7,8] 
     }); 

Template.numbers.events({ 
    "click #Generate" : function(e){ 
     e.preventDefault(); 
     instance = UI.renderWithData(Template.numbers, {numbers : [11,12,13,14,15]}) 

     UI.insert(instance, $('#numbers')[0]); 
    } 
}) 

나는이 튜토리얼에 대한이 온 : 템플릿에 대해 정의 http://empire5.com/development/meteor-rendering-a-handlebars-template-with-dynamically-loaded-data/

답변

1

도우미는 데이터 컨텍스트에 우선합니다. 따라서 numbers을 템플릿의 도우미로 정의하면이 템플릿에 컨텍스트로 지정된 값이 무시됩니다.

도우미는 "기본값"이 아닙니다.

+0

실제로 숫자 배열을 생성하는 함수가 있습니다. 템플릿을 렌더링 할 때 함수에서 다른 숫자를 가져 오지 않습니다. 실제 템플릿 도우미는 다음과 같습니다. Template.tiketa.helpers ({numbers : Tiketa()}); 여기서 Tiketa() 함수는 임의의 배열을 생성합니다. –

+0

아마도 나는 새로운 프로그래머이므로 잘 이해하지 못했습니다. 당신이 내게 더 간단하게 설명 할 수 있다면, 그리고 내가하고 싶은 일에 또 다른 방법을 제안 할 수 있다면. 추신 :이 게시물 에서이 모든 생각 cam이 게시물 http://empire5.com/development/meteor-rendering-a-handlebars-template-with-dynamically-loaded-data/ –

+2

@ user1898399'[1,2 , 3,4,5,6,7,8]'.helpers '가 더 높은 우선 순위를 가지고 있기 때문에 당신이'[11,12,13,14,15]'로주는 것들을 덮어 씁니다, 그들은 데이터보다 우선합니다 컨텍스트 ('UI.renderWithData'로 찍은 컨텍스트). 그래서 Tiketa()를 사용할 때조차도 이런 일이 일어날 것입니다. 대신에 Session을 사용하여 (http://docs.meteor.com/#session) 번호를 전달 해본 적이 있습니까? ? .get 섹션에서 문서를 사용하는 방법에 대한 예제가 문서에 있습니다. – Akshat