首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor -创建一个复选框,在会话中隐藏已完成的决议。

Meteor -创建一个复选框,在会话中隐藏已完成的决议。
EN

Stack Overflow用户
提问于 2016-03-06 19:55:39
回答 1查看 105关注 0票数 0

我目前正在遵循流星教程,在教程#7中,关于会话我有这样的代码,当选中复选框时,应该只为当前用户隐藏todos,但它不是。我看不出有什么效果。如有可能,请提供协助,问候。

代码语言:javascript
复制
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
    });
}
代码语言:javascript
复制
<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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-07 11:47:57

一个简单的(但花了一段时间才发现!)错误:您的标签类是带有hide_finished_,而您的事件是带有-hide-finished

效果很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35831773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档