Blaze.getData() 和 Template.currentData() 之间的区别以及它们各自的用例
Difference between Blaze.getData() and Template.currentData() and use cases for each of them
我在 Template.onRendered
下尝试使用 Blaze.getData() 和 Template.currentData() 这给了我相同的结果 result.Can 任何人都可以帮助我解释用例之间的区别.我查看了解释
的 Meteor Docs
Template.currentData() :
- 在 onCreated、onRendered 或 onDestroyed 回调中,returns 模板的数据上下文。
- 建立对结果的反应依赖。
Blaze.getData([elementOrView]) :
- Returns 当前数据上下文,或从 Meteor 模板呈现特定 DOM 元素或视图时使用的数据上下文。
此外 Establishes a reactive dependency on the result
这在 Template.currentData
下是什么意思
Template.currentData()
在 onCreated、onRendered 或 onDestroyed 中获取给定模板的当前数据。
请记住,您正在创建模板实例,因此同一模板可能有不同的数据,但它的不同实例。
在给定的实例中,在助手下,您可以在 this
上下文中获取数据。在onCreated、onRendered中,这是上一层,this.data就是数据。
currentData
表示它是 create/render 等时的数据...但是数据可以更改:例如,如果您的模板从 #each 循环中获取数据,它本身来自从一个集合中,数据很可能首先是未定义的,然后用值填充,并随着订阅接收数据而改变。
currentData 使它具有反应性,这意味着当新数据到来时结果将被更新。
Blaze.getData([elementOrView]) 是从元素或视图中获取数据上下文,即不一定在Template 内。它可以是 DOM 元素或 Blaze.View
这意味着此函数可让您在事后确定呈现元素时的数据上下文是什么。可能会检查元素是否包含预期值,例如来自另一个模板助手或事件。
我在 Template.onRendered
下尝试使用 Blaze.getData() 和 Template.currentData() 这给了我相同的结果 result.Can 任何人都可以帮助我解释用例之间的区别.我查看了解释
Template.currentData() :
- 在 onCreated、onRendered 或 onDestroyed 回调中,returns 模板的数据上下文。
- 建立对结果的反应依赖。
Blaze.getData([elementOrView]) :
- Returns 当前数据上下文,或从 Meteor 模板呈现特定 DOM 元素或视图时使用的数据上下文。
此外 Establishes a reactive dependency on the result
这在 Template.currentData
Template.currentData()
在 onCreated、onRendered 或 onDestroyed 中获取给定模板的当前数据。
请记住,您正在创建模板实例,因此同一模板可能有不同的数据,但它的不同实例。
在给定的实例中,在助手下,您可以在 this
上下文中获取数据。在onCreated、onRendered中,这是上一层,this.data就是数据。
currentData
表示它是 create/render 等时的数据...但是数据可以更改:例如,如果您的模板从 #each 循环中获取数据,它本身来自从一个集合中,数据很可能首先是未定义的,然后用值填充,并随着订阅接收数据而改变。
currentData 使它具有反应性,这意味着当新数据到来时结果将被更新。
Blaze.getData([elementOrView]) 是从元素或视图中获取数据上下文,即不一定在Template 内。它可以是 DOM 元素或 Blaze.View
这意味着此函数可让您在事后确定呈现元素时的数据上下文是什么。可能会检查元素是否包含预期值,例如来自另一个模板助手或事件。