gpt4 book ai didi

javascript - Meteor中没有匹配用户的文档时如何显示占位符文本?

转载 作者:行者123 更新时间:2023-12-03 10:01:18 25 4
gpt4 key购买 nike

我有一个脚本,它运行一组照片文档,检查它们是否与当前用户 ID 匹配,然后渲染模板。

<ul id="settings-photos">
{{#each photos}}
{{#if person}}
{{> photo}}
{{/if}}
{{/each}}
</ul>

如果用户不存在照片,我想显示“点击上传照片!”信息。我如何以空格键/ meteor 方式为此编写条件?

我的帮助代码如下

person : function () {
user = Meteor.userId();
photoUser = this.user;
console.log(this);
if(user == photoUser) {
return true;
}
}

编辑:我已经接受了导致我找到解决方案的答案。我的最终脚本是

photos : function () {
var id = Meteor.userId();
var photos = Photos.find({user: id}).fetch();

return photos;
}

然后是 HTML

<ul id="settings-photos">
{{#each photos}}
{{> photo}}
{{/each}}
{{#unless photos}}
Click to upload an image
{{/unless}}
</ul>

最佳答案

虽然通过照片收集进行循环并检查用户是可行的,但更好的方法是编写一个提取用户照片的 UI/模板帮助程序。这样,如果您最终更改用户或照片集的架构,则只需更改助手即可。

Template.registerHelper(userPhoto, function(userId){
var userPhoto = Photos.findOne({person: userId});
if(userPhoto && userPhoto.photoUrl) {
return userPhoto.photoUrl;
}
})

这样您就可以更干净地编写模板。如,

<ul id="settings-photos">
{{#if userPhoto currentUser._id}}
{{> userPhoto currentUser._id}}
{{else}}
<a href="#">No Photos found. Click here to upload</a>
{{/if}}
</ul>

原答案:

<小时/>
<ul id="settings-photos">
{{#each photos}}
{{#if person}}
{{> photo}}
{{/if}}
{{/each}}
{{#unless photos}}
<a href="#">No Photos found. Click here to upload</a>
{{/unless}}
</ul>

关于javascript - Meteor中没有匹配用户的文档时如何显示占位符文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com