在路由之间切换时,Meteor中的持久性复选框状态

时间:2015-11-01 23:11:11

标签: meteor checkbox flow-router

问题:在单页应用中,当用户从一个页面转到另一个页面时,Meteor是否保持Checkbox的状态?

我正在尝试在Meteor中开发一个'Select books to read'应用程序,在主页上,用户可以从多本书中选择添加到他的阅读列表中。所选书籍显示在“我的阅读列表”页面上。 我已经使用Flow Router建立了路由系统。

// routes.js

    FlowRouter.route('/', {
        name: 'bookList',
        action: function() {
            BlazeLayout.render("mainLayout", {content: "bookList"});
        }
    });
    FlowRouter.route('/myReadingList', {
        name: 'myReadingList',
        action: function() {
            BlazeLayout.render("mainLayout", {content: "myReadingList"});
        }
    });


// bookList.js Helpers for bookList template

    Template.bookList.helpers({
          'books': function() {
            return books.find();
          }
    });
    
    Template.bookList.events({
              'change .item': function(event) {
                  var temp = false;
                  Session.set("temp", event.target.checked);

                  if (Session.get("temp")) {
                      myReadingList.insert({
                          userid: Meteor.userId(),
                          bookName: this.bookName
                      });
                  } else {
                      var bookName = this.bookName;
                      Meteor.call('removebook', bookName); // remove unselected                                                              // books from list
                    }

    });

// myReadingList.js Helpers for second page
      
      Template.myReadlingList.helpers({
    	 'selectedBooks':function(){
    	 	return selectedBooks.find();    
    	 }
    )};
<!-- bookList.html : Homepage:bookList Template -->

    {{#each books}}
       <ul>
          <li><input type="checkbox" class="item"> {{bookName}}
       </ul>
     {{/each}}


<!-- myReadingList.html: Second Page:myReadingList Template -->

    {{#each selectedBooks}}
      <ul>
        <li>{{ name }}li>
      </ul>
    {{/each}}

问题:一切都按预期工作。我可以在第一页上选择书籍。所选书籍出现在第二页上。但是,当我回到第一页添加更多书籍或查看所选书籍时,所有复选框都是全新的。

  • Meteor中这是正常的还是我错过了什么?
  • 如果这是正常的,在第1页和第2页之间来回切换时如何使复选框状态保持不变?

0 个答案:

没有答案