編集を:@zimが指摘したように、あなたはむしろ流星の出版物およびサブスクリプション機能を使用することができます。これはあなたの記述された問題に対する最良の解決策になります。
さらに読む上:https://guide.meteor.com/data-loading.html
あなたはまだあなたのサーバー側の呼び出しを使用してに依存している場合@Khangが指摘したように、あなたは、どちらかの反応方法パッケージを使用することができます。次に、あなたが)(Template.instanceを経由して反応性辞書にアクセスすることができます
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.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を、あなたの結果の値について、より詳細なアクセス権を持っているしたい場合は、反応性のdictを使用する必要がありますヘルパーは設定されていない場合にのみMeteor.callを使用します。それでも、メソッドを簡単に変更できるので、メソッドを常に呼び出すことができます。
これにより、さらに細かいエラー処理を実装できることに注意してください。
なぜパブリッシュ/サブスクライブではなくMeteorメソッドコールをここで呼び出せますか? – zim
@zimメソッドの使用は、セキュリティに関するより良いアプローチと考えられます。メソッドを使用し、信頼性、役割などのチェックを実装することは、何度も勧められてきました。 – Jankapunkt
私はMeteorのメソッドとクライアントサイドの書き込みについて考えていると思います。 pub/subは安全で、imhoはメソッド呼び出しよりもあなたの問題に適しています。 – zim