使用铁路路由器,我明白如何为模板设置数据。但是,如何将数据发送到全局定义的布局?铁路路由器:如何将数据发送到布局?
我通过设置路由器布局:
Router.configure({ layoutTemplate: 'NAME' })
这将设置为我所有的航线布局。
但是,从我个人的路线,我想发送数据到布局模板。
使用铁路路由器,我明白如何为模板设置数据。但是,如何将数据发送到全局定义的布局?铁路路由器:如何将数据发送到布局?
我通过设置路由器布局:
Router.configure({ layoutTemplate: 'NAME' })
这将设置为我所有的航线布局。
但是,从我个人的路线,我想发送数据到布局模板。
布局使用在路由选项中使用data
定义的数据上下文。下面是从铁路由器documentation的摘录:
Router.route('/routeName', {
...
// A data function that can be used to automatically set the data context for
// our layout. This function can also be used by hooks and plugins. For
// example, the "dataNotFound" plugin calls this function to see if it
// returns a null value, and if so, renders the not found template.
data: function() {
return Posts.findOne({_id: this.params._id});
},
...
}
我们也可以用this.layout
设置布局的数据背景是这样的:
Router.route('/routeName', function() {
this.layout('layoutName', {
data: function() {
return CollectionName.find();
}
});
});
另外,大家可以参考像现有layoutTemplate
选项这个:
Router.route('/routeName', function() {
this.layout(this.lookupOption('layoutTemplate'), {
data: function() {
return CollectionName.find();
}
});
});
Router.configure({
layoutTemplate: 'NAME',
data: function() {
return CollectionName.find();
}
});
正如铁在Global Default Options描述:路由器文档:
您可以设置任何对路由器本身上面的选项...
在哪里上述选项'指Route Specific Options
您还可以将subscribe
转换为已发布的收藏:
Router.configure({
layoutTemplate: 'NAME',
subscriptions: function() {
this.subscribe('CollectionName');
}
});
你也可以用waitOn添加特定于路由的订阅 – 2015-02-09 16:59:13