【发布时间】:2015-12-23 07:44:43
【问题描述】:
我正在尝试在模板中实现 2 个选择。一种是从所有类别集合中选择一个类别,另一种是选择与该特定类别相关的一组技能。所以,后者依赖于前者。 我认为正确的做法是在选择更改事件和辅助函数时使用会话变量来存储选定的类别 ID,该函数会响应地返回具有该 ID 的光标。我的代码看起来像......
<template name="createPost">
<select id="categories" name="category">
{{#each categories}}
<option value="{{_id}}">{{categoryName}}</option>
{{/each}}
</select>
...
<select id="skills" name="skills">
{{#each skills}}
<option value="{{_id}}">{{skillName}}</option>
{{/each}}
</select>
</template>
Template.createPost.helpers
categories: -> Categories.find()
getCategory = ->
Session.get 'selectedCategory'
Tracker.autorun ->
skills: ->
Skills.find {category: getCategory}
Template.createPost.events
"change #categories": (e) ->
Session.set 'selectedCategory', e.target.value
...........
第一个选择包含类别。但是,当我选择一个类别时,第二个选择中没有显示相关技能。知道这段代码有什么问题,对不起,我对流星还是很陌生。提前致谢。
【问题讨论】:
-
你试过没有
tracker.autorun吗? -
是的,我在没有 tracker.autorun 的情况下尝试过。我还尝试将第二个选择放在单独的模板和它自己的助手中,仍然没有运气
-
所以为了澄清,是没有技能出现还是都出现了?您可以发布示例类别和技能吗?还有,选择类别后控制台中
Skills.find({})的结果是什么? -
没有技能出现。我有一个名为 NodeJS 的类别和 2 个技能 MeteorJS 和 HTML5,每个类别都有一个 ID 为 NodeJS 的类别字段。
-
您使用的是
insecure包吗?如果不是,您的订阅/出版物是什么样的?
标签: javascript meteor meteor-blaze