Templete渲染其他阻止,重新加载,渲染if

时间:2015-07-06 07:17:21

标签: javascript html templates meteor

我有以下模板,当用户点击特定帖子上的“Who osted this”按钮时会加载该模板。

<template name="profile">

{{#if existinguser}}
`//other code to render when esitinguser returns true//`
    {{else}}
    <p>This user doesn't exist.</p>
    {{/if}}
</template>

这是现有的用户帮助:

'existinguser': function() {


        if (Meteor.users.find({
                "profile.username": document.URL.split('/')[4]
            }).count() > 0) {
            return true;
        } else {
            return false;
        }


    }

和route.js

Router.route('/user/:username', {
    name: 'profile',
    loadingTemplate: 'loading',
    waitOn:function(){Meteor.subscribe('users');
},
    data: function() {
        return Meteor.users.find({
            'profile.username': this.params.username
        });



    }
});

现在,当单击链接时,将呈现else块,并且页面显示此用户不存在,即使它位于Users集合中。

如果我在同一个网址上重新加载页面,它会呈现,并显示if块中的内容。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

您应该从subscribe

返回状态值

请尝试:

waitOn:function(){ return Meteor.subscribe('users'); },

另见文件:

https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#the-waiton-option