【问题标题】:Return an object from typeahead package in meteorjs从metahead包中返回一个对象
【发布时间】:2014-08-10 21:03:54
【问题描述】:

我已将大气js.com/package/typeahead 添加到流星项目中,并且运行良好。它返回一个字符串,但我可以更改 typeahead 以返回一个对象并让模板相应地呈现该对象吗?除了要添加到 mongodb-collection 的参与者的名称之外,我还需要 _id。

js 文件:

Template.raceAddParticipant.acparticipants = function () {
  return Participants.find().fetch().map(function (post) { return post.name; });
};

html 文件:

<input class="form-control typeahead" autocomplete="off" spellcheck="off" data-source="acparticipants" name="name" type="text" value="" placeholder="Participant" />

问候 克劳斯

【问题讨论】:

    标签: mongodb meteor typeahead.js


    【解决方案1】:

    Typeahead 不是为 Meteor 设计的,您需要进行大量处理才能使用它返回的字符串。

    一种解决方案是使用 https://github.com/mizzao/meteor-autocomplete 之类的东西,它适用于 Meteor 集合而不是数组,它是反应式的,并且支持使用具有适当数据上下文(即 _id 和所有其他字段)的 Meteor 模板进行渲染。它基本上类似于 typeahead,但围绕 Meteor 设计。

    【讨论】:

    • 我添加了自动完成功能,它工作正常。我将如何在 html 文件中包含参与者._id?现在我在 inputAutocomplete 中有名称。
    • 呈现每个项目的模板会显示其他信息,例如俱乐部、_id 等。但是如何将 _id 获取到 {{> inputAutocomplete}} 以便将其保存到新集合中?这行得通。 {{> inputAutocomplete settings=settings id="name" name="name" placeholder="Participant" placeholder="Name" }}
    • 我正在通过回调设置会话变量:function() 但如果有更好的方法,则不 shure。模板事件处理程序可以通过 Session.get() 看到参与者姓名、俱乐部、_id 等,我正在使用“提交表单”保存参与者:。
    • @kometen 我不太明白你的问题。
    • 对不起,这有点不清楚。 github.com/kometen/karusselrenn/blob/master/client/views/races/…,第 5 行的名称为 inputAutocomplete。模板 acParticipants 呈现可用选项。如何在 inputAutocomplete 中包含年份、俱乐部、_id?在github.com/kometen/karusselrenn/blob/master/client/views/races/… 中,我在第 45-46 行将 club 和 _id 设置为会话变量。我不清楚如何在输入表单中包含参与者对象。
    猜你喜欢
    • 2018-12-29
    • 2015-01-15
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多