我正在尝试将在本地模板帮助器中定义的变量传递给模板控制器(以便随后可以使用表单提交它并将其插入到集合中)。无法弄清楚如何在控制器范围内包含该变量。

这是我的助手(控制器的差异文件,因为我使用的是流星模板文件结构):

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;});
    }
});


我需要传递给Controller的是“ cuisineTypeEvent”(返回字符串数组[[french],“ american”]),以便可以将其插入集合中。
控制器(我需要传递数组的部分(而不是CuisineType):

var params = {
venueAttributes: {
            venueType: venueType,
            cuisineType: cuisineType,
            }


我曾考虑在同一文件中创建另一个帮助器,但是我只找到了使用在Template.xx.rendered之外定义的变量进行操作的示例。矿井需要留在其中,因为它是由下拉框创建的。

谢谢!
担。

最佳答案

您可以为此使用流星会话。

Session.set("sessionName",value);


在控制器中,您可以使用来获得相同的Session变量:

var data = Session.get("sessionName");

关于javascript - meteor :在 Controller 和帮助器之间共享/传递变量(差异文件),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34012575/

10-09 20:16
查看更多