StateParams传递函数不使用meteor工作

时间:2018-01-03 01:26:11

标签: javascript angularjs node.js meteor ionic-framework

这是我的函数,用于从数据库中检索数据,具体取决于参数idCats

  this.getSubcat = function(){

    //Load products on scroll.
    this.subscribe('SubcatIndex', () => [ $stateParams.idCats, self.loaded ], {
      onReady: function() {

        Meteor.call('allSubcats', $stateParams.idCats, function(err, count) {
            self.allsubcats = count;
            self.limit = self.loaded;
            console.log("Test Log: " + $stateParams.idCats);

          self.subcats = Products.find({
            catLinkID : $stateParams.idCats
          },{
              fields: {
                _id: true,
                name: true,
                catLinkID: true,
                idCat: true,
                image: true,
                listingsCount: true,
                productOffersCount: true,
                productSoldCount: true
              }
        }).fetch();

          window.localStorage.setItem('subcats', JSON.stringify(self.subcats) );

          self.contentLoaded = true;
          self.noPosts = 'No posts available.';

          $ionicLoading.hide();
          return;        
        });
      },
      onStop: function(err){

        if(err){
          self.contentLoaded = true;
          self.noPosts = "No internet connection.";
          console.log(JSON.stringify(err));
          return;
        }
      }
    });
  }

  this.getSubcat();

当我改变这一行时:

  self.subcats = Products.find({
    catLinkID : $stateParams.idCats
  }

要:

  self.subcats = Products.find({
    catLinkID : 7 // 7 for example
  }

运作良好!但是当我用$stateParams.idCats替换它时,我会收到来自该函数的消息:没有可用的帖子。

请注意,有些产品使用idCats:7。

当我记录它时:

console.log("Test Log: " + $stateParams.idCats);

返回相同的数字:Test Log: 7

如果您有任何建议或起点可以解决这个问题,我们欢迎您!

请注意,控制台(服务器端和客户端)都没有错误。

谢谢。

0 个答案:

没有答案