流星:Sharing/Passing控制器和助手之间的变量(差异文件)
Meteor: Sharing/Passing Variable Between Controller and Helper (diff files)
我正在尝试将在我的本地模板助手中定义的变量传递给模板控制器(这样我就可以用表单提交它并将其插入 collection)。无法弄清楚如何将该变量包含在控制器的范围内。
这是我的助手(来自控制器的差异文件,因为我使用的是流星样板文件结构):
Template.addvenue.rendered = function() {
// Call Multiselector
$('#cuisineType').multiselect({
onDropdownHide: function() {
var cuisineTypeEvent = $('.multiselect-container.dropdown-menu > .active').find('input[type="checkbox"]').map(function() { return this.value;});
}
});
我需要传递给控制器的是 "cuisineTypeEvent"(returns 一个字符串数组 ['french','american'])所以我可以将它插入到collection。
控制器(我需要传递数组的部分(而不是 cuisineType):
var params = {
venueAttributes: {
venueType: venueType,
cuisineType: cuisineType,
}
我研究过在同一个文件中创建另一个帮助器,但我只找到了使用 Template.xx.rendered 之外定义的变量的示例。我的需要留在其中,因为它是由下拉框创建的。
谢谢!
段.
您可以为此使用 Meteor Sessions。
Session.set("sessionName",value);
在控制器中,您可以使用以下方法获取相同的 Session 变量:
var data = Session.get("sessionName");
我正在尝试将在我的本地模板助手中定义的变量传递给模板控制器(这样我就可以用表单提交它并将其插入 collection)。无法弄清楚如何将该变量包含在控制器的范围内。
这是我的助手(来自控制器的差异文件,因为我使用的是流星样板文件结构):
Template.addvenue.rendered = function() {
// Call Multiselector
$('#cuisineType').multiselect({
onDropdownHide: function() {
var cuisineTypeEvent = $('.multiselect-container.dropdown-menu > .active').find('input[type="checkbox"]').map(function() { return this.value;});
}
});
我需要传递给控制器的是 "cuisineTypeEvent"(returns 一个字符串数组 ['french','american'])所以我可以将它插入到collection。 控制器(我需要传递数组的部分(而不是 cuisineType):
var params = {
venueAttributes: {
venueType: venueType,
cuisineType: cuisineType,
}
我研究过在同一个文件中创建另一个帮助器,但我只找到了使用 Template.xx.rendered 之外定义的变量的示例。我的需要留在其中,因为它是由下拉框创建的。
谢谢! 段.
您可以为此使用 Meteor Sessions。
Session.set("sessionName",value);
在控制器中,您可以使用以下方法获取相同的 Session 变量:
var data = Session.get("sessionName");