html输入的流星重置值

时间:2015-01-06 01:56:12

标签: html meteor coffeescript

我目前有一个输入框,它位于模态内,设置如下

<div style="padding-bottom: 8px">
  <label for="edit-user-email">Email Address</label>
  <input type="email" class="form-control" id="edit-user-email" value="{{getEmail}}">
</div>

我有一个UI助手来填写下面的值设置

UI.registerHelper "getEmail", () ->
  editUsersDep.depend()
  try
    #console.log Session.get("currentUser")
    return Session.get("currentUser").email.address
  catch e
    return

现在,当我编辑框的值时,我们可以说将值从test@gmail更改为test2@gmail,然后关闭我的模态,而不实际更新currentUser会话变量的值,然后重新打开我希望/希望该框中的值返回test@gmail.com的模态,而不是它留在test2@gmail.com

Session变量正如此设置。 this对应于表格中的一行。这很好。

"click #foreman-edit-projects": () ->
    FlashMessages.clear()
    editUsersDep.changed()

    supersOfForeman = []
    projectsAdded = Meteor.users.findOne({_id: this._id}).on_projects

    allSupers = Meteor.users.find({"roles.__global_roles__": {$in: ["admin", "super"]}, username: {$ne: "site.admin"}}).fetch()
    for admin in allSupers
      if admin.has_foreman
        if this._id in admin.has_foreman
          supersOfForeman.push(admin._id)
      else
        continue

    Session.set("editSupersForUser", supersOfForeman)
    Session.set("editProjectsForUser", this.on_projects)
    Session.set("currentUser", this)
    $("#editProjectsModal").modal("toggle")

我放入console.log来测试该方法实际上是在模式弹出时被调用的,它确实如此,但值不会改变。打开模态后,log也总是会发生。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我对你的问题感到有点困惑。我想你应该说,“......而是留在 test2@gmail.com 。如果这是正确的,您可能想要编辑您的问题以反映这一点。

另外,您在哪里设置会话变量?

答案 1 :(得分:0)

假设您正在尝试获取当前用户的电子邮件地址,您可以使用Meteor.user()而不是经常尝试设置会话变量。

因此,您可以将其替换为:

UI.registerHelper "getEmail", () ->
  editUsersDep.depend()
  try
    return Meteor.user().emails[0].address
  catch e
    return