2016-06-19 4 views
0

Iron : Router를 사용하고 있는데 템플릿에 다음 이벤트가 있습니다.Meteor - 템플릿에 데이터 전달

Guests.update 함수가 성공한 경우 주어진 속성으로 thanks 템플릿으로 리디렉션하고 싶습니다.

thanks 템플릿에 success 템플릿의 속성을 사용하려면 어떻게해야합니까?

Template.guest.events({ 
    'submit form': function(event, template){ 
    event.preventDefault(); 
    var foo = $('[name=foo]').val(); 
    Guests.update(this._id, { 
     $set: { 
     foo: foo, 
     } 
    }, function(error, result){ 
     if (error) { 
     console.log(error); 
     } else { 
     Router.go('thanks', { success:true, id: this._id } }); 
     } 
    }); 
    } 
}); 

답변

0

는 경로 정의에 매개 변수를 추가

Router.route('/thanks/:success/:_id', function() { 
    let success = this.params.success; 
    let _id = this.params._id; 
    ... 
}); 
+0

좋아, 당신은뿐만 아니라 세션 변수와 함께 할 수있는 URL에 PARAMS없는 방법 ... – larz

+0

이 생각했다. 'Session.set ('myObject', {success : true, id : this._id})'그런 다음 템플릿에서'.get()'을 호출합니다. 너까지. –

+0

절대적으로 필요하지 않는 한 세션 변수의 사용은 권장하지 않습니다 (전역 범위, 네임 스페이스 없음). 경로 매개 변수는 권장되는 패턴입니다. 세션 변수를 사용하면 URL을 링크로 공유하면 상태 복구가 허용되지 않습니다. –

관련 문제