我目前有一个输入框,它位于模态内,设置如下
<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
也总是会发生。有什么想法吗?
答案 0 :(得分:0)
我对你的问题感到有点困惑。我想你应该说,“......而是留在 test2@gmail.com ”。如果这是正确的,您可能想要编辑您的问题以反映这一点。
另外,您在哪里设置会话变量?
答案 1 :(得分:0)
假设您正在尝试获取当前用户的电子邮件地址,您可以使用Meteor.user()
而不是经常尝试设置会话变量。
因此,您可以将其替换为:
UI.registerHelper "getEmail", () ->
editUsersDep.depend()
try
return Meteor.user().emails[0].address
catch e
return