Meteor - 如何在点击事件中将html元素链接到数据库条目?

时间:2013-05-16 05:52:06

标签: database meteor flickr

我正在试图弄清楚如何将html图片元素链接回最初用于生成图片链接的数据库条目。

我正在使用Meteor: - 我有一个包含来自Flickr API的photosets数据的数据库 - 在HTML中,我有一个手柄“每个”脚本,它遍历数据库中的每个photoset,然后使用此信息生成photoset封面图片链接的html。 - 当html呈现时,照片集封面图片将从Flickr下载并显示在屏幕上。

我希望能够点击photoset封面图片,然后自动生成照片集中图片的链接。但我不明白如何动态地将html图片元素链接回最初用于生成图片链接的各自数据库条目。我需要能够找到原始数据库条目,以便我可以加载生成后续链接所需的信息。

作为所有这一切的新手,我不确定从哪里开始寻找或尝试什么。我想知道用自定义密钥对创建一个对象来“记住”每个photoset图片的标识。这是要走的路,还是有一种我更容易忽视的方式?

感谢。

1 个答案:

答案 0 :(得分:3)

说你的照片是这样放的:

Template.mytemplate.helpers({
    picture:function() {
        return pictures.find()
    }
});

你也可以这样做,这几乎是一回事:

Template.mytemplate.picture = function() {
    return pictures.find();
}

使用html

<template name="pictures">
    {{#each picture}}
        <img src="{{src}}" class="pictureselector"/>
    {{/each}}
</template>

您可以使用可以从特定图片文档/记录中获取数据的事件

Template.mytemplate.events({
    'click .pictureselector':function(event,template) {
        console.log(this._id); //Should give you the `_id` of the picture that was clicked

    }
});

this是被点击的元素的数据上下文&amp;使用this中的数据生成所需的链接。

如果你在Meteor.call之类的点击中使用回调内容时要小心,你必须通过var self = this向下转发消息,否则this的上下文将成为Meteor.call