【发布时间】:2014-11-14 17:54:46
【问题描述】:
我想在会话变量更改时重新渲染块助手。
UI.registerHelper "myHelper", () ->
this.changedSession = Session.get 'someSessionVariable'
return Template.myTemplate
帮助程序实际执行但视图没有更新。理想情况下,只有助手渲染的部分会被重新渲染(Template.myTemplate)。但重新渲染整个页面也是一种选择。
我该怎么做?
一个非常简单的应用程序说明了我的问题:
CoffeeScript:
if Meteor.isClient
Template.hello.greeting = () ->
Session.get "greeting"
UI.registerHelper "myHelper", (options) ->
this['greeting'] = Session.get 'greeting'
return Template.test
HTML:
<template name="hello">
{{greeting}}
{{#myHelper test="test" more="more"}}
{{/myHelper}}
</template>
<template name="test">
{{this.greeting}}
</template>
如果我更改会话变量。问候语本身已更新,包含问候语的模板未更新。
我知道这不是在助手中获取会话的流星方式,但我将其用于原型设计框架,并且此助手可以在任何模板中使用,而无需为助手定义数据上下文。
【问题讨论】: