Meteor - 创建一个隐藏会话中已完成分辨率的复选框

时间:2016-03-06 19:55:39

标签: javascript node.js meteor

我目前正在关注this流星教程,在教程#7中,关于会话我有这个代码,当选中复选框时,它应该隐藏为当前用户完成的待办事项,但它& #39;不是。 它没有任何影响,我可以看到。 如果可以,请提供帮助, 问候。



Resolutions = new Mongo.Collection("resolutions");

if (Meteor.isClient) {

    Template.body.helpers({
        'resolutions': function() {

            if (Session.get("hideFinished")){
                return Resolutions.find({checked: {$ne: true}});
            } else {
                return Resolutions.find();
            }
        },
        'hideFinished': function(){
            return Session.get("hideFinished");

        }
    });

    Template.body.events({
        'submit .new-resolution': function(event) {
            var title = event.target.title.value;

            Resolutions.insert({
                title: title,
                createdAt: new Date()
            });

            return false;
        },
        'change .hide-finished': function(event){
            Session.set("hideFinished", event.target.checked);

        }
    });

    Template.resolution.events({
        "click .toggle-checked": function(){
            Resolutions.update(this._id, {$set:{
                checked: !this.checked
            }});

        },

        "click .delete": function() {
            Resolutions.remove(this._id);
            console.log("remove");
        }
    });

}

if (Meteor.isServer) {
    Meteor.startup(function() {
        // code to run on server at startup
    });
}

<head>
    <title>resolutions</title>
</head>

<body>
    <div class="container">
        <header>
            <h1>Monthly Resolutions</h1>
            <label class="hide_finished">
                <input type="checkbox" checked="{{hideFinished}}">
                Hide finished resolutions
            </label>

            <form class="new-resolution">
                <input type="text" name="title" placeholder="New Resolutions">
                <input type="submit" value="Submit">
            </form>
        </header>
        <ul>
            {{#each resolutions}}
                {{> resolution}}
            {{/each}}
        </ul>
    </div>
</body>

<template name="resolution">
    <li class="{{#if checked}}checked{{/if}}">
        <input type="checkbox" checked="{{checked}}" class="toggle-checked">
        {{title}}
        <button class="delete">Remove</button>
    </li>
</template>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

一个简单的(但需要一段时间才能发现!)错字:您的标签类为hide_finished_,但您的活动为hide-finished-。< / p>

完美无缺。