将对象传回事件Meteor?

时间:2015-09-21 22:29:29

标签: javascript meteor meteor-blaze

我试图将一个对象传回Blaze中的一个事件我的Blaze模板定义如下:

<template name="plugins_list">
<h2>Import area</h2>
<button class="importjars">Import from FS</button>
{{plugins.ancientgatesreloaded.author}}
<dl>
    {{#each plugin in plugins}}
        <dt><button class="add_plugin_to_store" data="{{plugin}}">+</button> <a href="{{plugin.website}}" target="_blank">{{plugin.name}}</a> ( {{plugin.version}} ) </dt>
        <dd>Author: {{plugin.author}}</dd>
    {{/each}}
</dl>
<h2>Data Store</h2>
<dl>
    {{#each plugin in masterplugins}}
        <dt><a href="{{plugin.website}}" target="_blank">{{plugin.name}}</a> ( {{plugin.version}} )</dt>
        <dd>Author: {{plugin.author}}</dd>
    {{/each}}
</dl>

我的事件是这样的:

    Template.plugins_list.events({
    'click button.importjars': function () {
        Meteor.call("getMCPlugins", function(error, response){
            var plugins = response;
            Session.set('plugins', plugins);
            console.log(plugins);
        });
    },
    'click button.add_plugin_to_store': function (event) {
        console.log(event);
    }
});

如何通过我的&#34;插件&#34;对象回到&#39; &#39;点击button.add_plugin_to_store&#39;:&#39;点击+?

,从每个火焰内部的帮手中发生事件

亲切的问候 克里斯

2 个答案:

答案 0 :(得分:3)

使用Blaze.getData([elementOfView])

  

返回当前数据上下文,或从Meteor模板呈现特定DOM元素或视图时使用的数据上下文。

这会将对象打印到控制台日志。

'click button.add_plugin_to_store': function (event) {
    console.log(Blaze.getData(event.target));
}

答案 1 :(得分:0)

如果您记录this

,您会得到相同的结果
'click button.add_plugin_to_store': function (event) {
    console.log(this);
}