2

我在尝试制作反应形式时遇到问题。当我将数据插入一个集合时,另一个选择也会刷新。输入字段也会发生这种情况,当我更新其中一个绑定集合时,所有内容都会被清除。

这应该发生吗?

我的测试代码:

<template name="test">
  <form class="form-horizontal well" id="test-form">
    <select class="input-xlarge" name="item_id">
      {{#each types}}
        <option value="{{_id}}">{{name}}</option>
      {{/each}}
    </select>
    <select class="input-xlarge" name="category_id">
      {{#each categories}}
        <option value="{{_id}}">{{name}}</option>
      {{/each}}
    </select>
  </form>
</template>

我的助手是:

Template.accounts.type = ->
  Types.find({}).fetch()

Template.accounts.categories = ->
  Categories.find({}).fetch()
4

1 回答 1

4

我认为这是 Meteor 现在的一个限制,希望它会在未来得到解决。

正如 irc 上所讨论的,一些绕过它的方法:

  1. 将它们分成不同的模板
  2. 将它们包装在一个调用Meteor.ui.chunk.
  3. 使用会话变量来跟踪当前选择的状态。例如:

    Template.accounts.events = {
      'change #category_id': function() { 
         Session.set('selected_category_id', $(this).val());
      }
    }
    

Session.get('selected_category_id')(以及如果不在undefined模板中,则最初选择值的代码)。

于 2012-06-19T01:44:00.967 回答