我尝试使用Template.onRendered
下的Blaze.getData()和Template.currentData(),这给了我相同的结果。任何人都可以帮我解释用例之间的差异。我查看了解释
Template.currentData():
Blaze.getData([elementOrView]):
这也是Establishes a reactive dependency on the result
Template.currentData
的含义
答案 0 :(得分:0)
Template.currentData()
可以获取onCreated,onRendered或onDestroyed中给定模板的当前数据。
记住你正在创建模板实例,因此同一个模板可能有不同的数据,但是它的实例不同。
在给定的实例中,在Helpers下,您可以获得this
上下文下的数据。在onCreated,onRendered中,这是一个级别,而this.data是数据。
currentData
表示它是创建/渲染等时的数据...但数据可以更改:如果您的模板从#each循环获取数据,例如,它本身来自集合,很可能数据首先是未定义的,然后填充值,并在订阅接收数据时进行更改。
currentData使这个被动,这意味着当新数据到来时结果将被更新。
Blaze.getData([elementOrView])用于从元素或视图中获取数据上下文,即不一定在模板中。它可以是DOM元素或Blaze.View
这意味着此函数可以让您在事实之后计算元素呈现时的数据上下文。也许从另一个模板助手或事件中检查元素是否包含期望值。