无法从客户端访问服务器代码中添加的数据

时间:2015-02-17 19:49:38

标签: javascript html meteor

我正在做一些介绍Meteor的东西,而且我无法从我的Collection中获取正确的值。我试图跟踪中央站点的所有权,如按钮所声称的那样。该程序目前只是Try Meteor任务教程的扩展。无论如何,这里是HTML和JS:     -------------- HTML ------------

<head>
<title>Todo List</title>
</head>

<body>
  <div class="container">
    <header>
    <h1>Todo List</h1>
    <form class="new-task">
        <input type="text" name="text" placeholder="Type to add new tasks" />
    </form>
    {{> ownerclaim}}
    <h4>Current owner: {{ownerget}}</h4>
    </header>

    <u1>
      {{#each tasks}}
        {{> task}}
      {{/each}}
    </u1>

    {{> loginButtons}}
  </div>
</body>

<template name="task">
  <li class="{{#if checked}}checked{{/if}}">
  <button class="delete">&times;</button>
  <input type="checkbox" checked="{{checked}}" class="toggle-checked" />
  <span class="text">{{text}}</span>
  </li>
</template>

<template name="ownerclaim">
    <button class="claim">Claim website</button>
</template>

<template name="ownership">
    <span class="text">{{text}}</span>
</template>

----------- --------------- JS

OwnerC = new Mongo.Collection("owner");
Tasks = new Mongo.Collection("tasks");


if (Meteor.isClient) {
  Meteor.subscribe("own");
  console.log(OwnerC.findOne({}));
  Session.set("currentOwner", OwnerC.findOne({}));
  Template.body.helpers({
    tasks: function () {
        return Tasks.find({}, {sort: {createdAt: -1}});
    },
    ownerget: function () {
      console.log("JOHNNN");
      console.log(Session.get("currentOwner"));
      return Session.get("currentOwner");
    }
  });
  Template.body.events({
     "submit .new-task": function (event) {
        var text = event.target.text.value;
        Tasks.insert({
          text: text,
        createdAt: new Date(),
        owner: Meteor.userId(),
        username: Meteor.user().username
        });
      event.target.text.value = "";
      return false;
    }
  });
  Template.task.events({
    "click .toggle-checked": function() {
      Tasks.update(this._id, {$set: {checked: ! this.checked}});
    },
    "click .delete": function() {
      Tasks.remove(this._id);
    }
  });
  Template.ownerclaim.events({
    "click .claim": function() {
      OwnerC.update({}, {$set: {text: Meteor.user._id}});
    }
  })
  Accounts.ui.config({
      passwordSignupFields: "USERNAME_ONLY"
  });
}

if(Meteor.isServer) {
    console.log("YOYOYOYOYOYO");  
  Meteor.startup( function(){
    console.log("YOYO");

    OwnerC.insert({
      text: "none",
      createdAt: new Date(),
      owner: "0",
      username: "0"
    });
    console.log(OwnerC.findOne({}));
    Meteor.publish("own", function() {
      return OwnerC.find({});
    });
  });
}

由于某种原因,我的服务器日志显示OwnerC包含该对象,但客户端日志将其显示为空集合,并且客户端中的findOne返回undefined。谁知道我哪里出错?

0 个答案:

没有答案