我似乎无法在Meteor中找到错误

时间:2017-03-05 06:49:26

标签: javascript meteor

我是流星的新手,我遇到了一些问题。我正在创建一个社交网络应用程序,它基本上做的是注册用户,用户可以发布和关注其他人。这就是它现在所做的基本功能。我想添加一些内容,当用户点击其他用户个人资料时,它会显示用户发布。但代码不起作用,并没有显示任何错误

模板

<template name="profileArea">
{{#if currentUser}}
    <div id="side-profile"  class="side-box">
        <a class="filter-user">{{currentUser.username}}</a>
    </div>
    {{/if}}
    <div id="side-all"  class="side-box">
        <a class="community">Community</a>
    </div>
    {{#if currentUser}}
    <div id="side-like"  class="side-box">
      <h3>Following</h3>
      <div class="boxcontent">
        {{#each username in following}}
           <div>
              <a class="filter-user">{{username}}</a>
           </div>
        {{/each}}
        </div>
    </div>
      <div id="side-likeyou" class="side-box">
        <h3>Follows You</h3>
      <div class="boxcontent">
        {{# each followers}}
            <div>
                <a class="filter-user">{{username}}</a>
            </div>
        {{/each}}
      </div>
    </div>
  {{/if}}
</template>

代码:

Template.profileArea.events({
    'click .filter-user': function(event){
        event.preventDefault();
        var selectedUser = event.target.text;

        Session.set('username', selectedUser);
    },
    'click .community': function(event){
        event.preventDefault();
        Session.set('username', null);
    }
});

Template.postsList.helpers({
    posts: function() {
        //Stuff should happen here but its not -_-
        var result;
        if(Session.get('username')){
            result = Post.find({username: Session.get('username')}, {sort:{created: -1}});
        }
        else{
           result = Post.find({}, {sort:{created: -1}});
        }
        return result;
    }
});

1 个答案:

答案 0 :(得分:1)

在这种情况下的问题是,您从未实际呈现过postsList模板(您刚刚定义了它)。

如果您想真正看到postsList,则需要从{{> postsList }}的HTML中的某处调用profileArea。这将呈现该模板,然后您的postsList.posts助手将执行(并在Session.get('username')更改时自动更改。)

也许在个人资料的“关注你”部分之后添加此内容。

<div id="side-posts" class="side-box">
  <h3>Posts</h3> 
  <div class="boxcontent"> {{> postsList }} <div>
</div>