편집 : @zim가 지적했듯이, 오히려 유성의 발행 및 구독 기능을 사용할 수 있습니다. 이것은 설명 된 문제에 대한 최상의 해결책이 될 것입니다. 더에
읽기 : @Khang는 지적 https://guide.meteor.com/data-loading.html 여전히 서버 측 호출을 사용에 의존하는 경우
, 당신은 어느 반응 방법 패키지를 사용할 수 있습니다.
import {Template} from 'meteor/templating';
import {ReactiveDict} from 'meteor/reactive-dict';
// create a new reactive dictionary to store reactive variables
// let's call it state
Template.dash_board_content1.onCreated(function onCreated(){
//this refers to the Template.instance() here
this.state = new ReactiveDict();
//initial value of userTerritoryList is null
//it will return nothing until it has been changed
this.state.set('userTerritoryList', null);
//you can even set an errors variable
this.state.set('errors', []);
});
는 그런 다음) (Template.instance를 통해 반응 DICT에 액세스 할 수 있습니다 : 당신이 당신의 결과 값에 대한 자세한 세분화 된 액세스 할 수 있도록하려면, 당신은 반응성 딕셔너리를 사용한다
Template.dash_board_content1.helpers({
'userTerritory': function(){
const territoryList = Template.instance().state.get('userTerritoryList');
if (territoryList) return territoryList;
Meteor.call('userTerritoryList', function(error,result){
if(!error){
Template.instance().state.set('userTerritoryList', result);
} else {
const errs = Template.instance().state.get('errors');
errs.push(error);
//update errors
Template.instance().state.set('errors', errs);
}
});
},
'getErrors' : function() {
//use in your template to display multiple err messages
return Template.instance().state.get('errors');
},
});
useTerritory을 헬퍼는 설정되지 않은 경우에만 Meteor.call을 사용합니다. 여전히 메서드를 쉽게 변경할 수 있으므로 항상 메서드를 호출합니다.
따라서 더욱 세분화 된 오류 처리를 구현할 수 있습니다.
왜 게시/구독 대신에 Meteor 메소드 호출을 원하십니까? – zim
@zim 메소드 사용은 보안과 관련하여 더 나은 접근 방법으로 간주됩니다. 메소드를 사용하고 진위성, 역할 등에 대한 점검을 구현하는 것이 여러 번 권고되었습니다. – Jankapunkt
Meteor 방법과 클라이언트 쪽 쓰기를 생각하고 있다고 생각합니다. pub/sub는 안전하며 imho는 메서드 호출보다 문제에 더 적합합니다. – zim