我正在尝试在模板中实现 2 个选择。一个用于从所有类别集合中选择单个类别,另一个用于选择与该特定类别相关的一组技能。所以,后者依赖于前者。 我认为正确的做法是让一个 session 变量在选择更改事件和辅助函数时存储选定的类别 id,该函数 react 性地返回带有该 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
...........
第一个选择填充了类别。但是,当我选择一个类别时,第二次选择时不会显示相关技能。知道这段代码有什么问题吗,抱歉,我对 meteor 还很陌生。提前致谢。
最佳答案
Template.createPost.helper
categories: () ->
Categories.find()
skills: () ->
selectedCategory = Session.get 'selectedCategory'
Skills.find {category: selectedCategory}
Template.createPost.events
"change #categories": () ->
Session.set 'selectedCategory', $('#categories').val()
Template.createPost.onRendered () ->
this.autorun () ->
c = Categories.find().fetch()[0]
if c
Session.set 'selectedCategory', c._id
关于javascript - Meteor:响应式(Reactive)辅助函数。依赖选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32782799/