流星:反应辅助函数。依赖 select
Meteor: reactive helper function. Dependent select
我正在尝试在模板中实现 2 select。一个用于 select 所有类别集合中的单个类别,另一个用于 select 与该特定类别相关的一组技能。所以,后者依赖于第一个。
我认为这样做的正确方法是让会话变量在 select 更改事件和辅助函数中存储 selected 类别 ID,该辅助函数反应性地 return 具有该 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
...........
首先 select 填充了类别。但是,当我选择一个类别时,相关技能没有显示在第二个 select 中。知道这段代码有什么问题吗,对不起,我对流星还是很陌生。提前致谢。
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
我正在尝试在模板中实现 2 select。一个用于 select 所有类别集合中的单个类别,另一个用于 select 与该特定类别相关的一组技能。所以,后者依赖于第一个。 我认为这样做的正确方法是让会话变量在 select 更改事件和辅助函数中存储 selected 类别 ID,该辅助函数反应性地 return 具有该 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
...........
首先 select 填充了类别。但是,当我选择一个类别时,相关技能没有显示在第二个 select 中。知道这段代码有什么问题吗,对不起,我对流星还是很陌生。提前致谢。
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