我正在编写一个流星应用程序,并使用反应性功能在dom可用或更新时实现自动更新结果。 这里是我的代码片段:meteor reactiveVar无法更新html结果
Template.message.helpers
profession: ->
return Template.instance().profession.get()
Template.message.onCreated ->
@profession = new ReactiveVar ''
msg = Template.currentData()
@userId = msg.u?._id
Tracker.autorun =>
Meteor.call 'getLimitedUserData', {id:Template.instance().userId}, (error, result) =>
if error
return handleError(error)
if result
@profession.set result.customFields.Profession
DOM:
{{#if profession}}
<span class="profession"><i>{{profession}}</i></span>
{{/if}}
什么可能我做错了?该专业不会更新..但是,如果我登录到控制台它打印正确的值。
任何帮助表示赞赏?
是咖啡脚本吗?因为我不知道它,所以我会查看生成的JS,以确保在Meteor方法的回调中,反应变量var的范围与模板的范围相同。 – zim
是它的一个咖啡脚本,是的它在相同的范围内,但由于某种原因,DOM不会更新值 – SanjeevGhimire
我会调试1)将console.log放入帮助程序中,查看它被调用的次数以及您拥有的值和2)在模板硬编码文本(“这里!”)里面看是否有条件工作。 – zim