我有一个模板助手
multiple_emails: ->
Meteor.user().emails.length > 1
在电子邮件阵列中添加或删除对象时不会重新运行。为什么是这样?我应该如何编写这个帮助器重新运行?
答案 0 :(得分:2)
某些内容在代码中的其他位置无效。
我给你做了一个小垫子:http://meteorpad.com/pad/B6L3cCXAPwPSdqc5s
模板:
<head>
<title>Leaderboard</title>
</head>
<body>
{{> loginButtons}}
{{#if currentUser}}
{{> addEmail}}
{{/if}}
</body>
<template name="addEmail">
<button>addEmail</button>
nb: {{emails}}
</template>
客户Js:
Template.addEmail.events({
'click button': function() {
Meteor.users.update({
_id: Meteor.userId()
}, {
$addToSet: {
emails: {address: 'email' + Math.random()}
}
})
}
});
Template.addEmail.helpers({
emails: function() {
return Meteor.user().emails.length;
}
});
您需要帐户基础,密码和ui包。
使用电子邮件注册并单击“le addemail”按钮。正如您所看到的,当单击按钮时,它会更新数字(并快速返回到1,因为您无法以这种方式更新它,但这只是为了说明一点)。
答案 1 :(得分:1)
大多数情况下,如果某个集合在客户端看起来没有被动,那么在pub / sub部分的某处就会出现问题/错误。