1
此Meteor代碼允許用戶從下拉選項列表中進行選擇,並使用所選值來訂閱集合並返回要顯示的文檔。
訂閱速度不夠快,因此在執行myCol.findOne({person: fName})
時出現未定義。模板事件在收集之前等待訂閱。查找
任何想法如何解決它? THX
Template.manualSearch.events({
'change select': function() {
let name = $("#fName option:selected").html().toLowerCase();
dict.set('person', fName);
Meteor.subscribe('myCol', dict.get('person'));
let personDoc = myCol.findOne({person: fName});
if (personDoc) { // <=== always undefind
let info = JSON.stringify(personDoc);
document.getElementById('debug').innerHTML = info;
}
}
});
<template name="manualSearch">
<select name="nmnm" id="fName">
{{#if Template.subscriptionsReady}}
{{#each fNames}}
<option>{{this.fName}}</option>
{{/each}}
{{/if}}
</select>
<p id="debug"></p>
</template>