Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor JS:列表正在填充收集结果_Meteor_Handlebars.js - Fatal编程技术网

Meteor JS:列表正在填充收集结果

Meteor JS:列表正在填充收集结果,meteor,handlebars.js,Meteor,Handlebars.js,这是我的模板: {{{#如果工作失败了} {{{#每个工作} {{地址} {{{jobUrl url title}}} {{公司} {{dateacquired}} {{/每个}} {{else} {{>微调器} {{/if} {{{#如果工作失败了} {{{#如果作业} 每页10张 每页25英镑 每页50英镑 每页100英镑 {{/if} {{{pagination}}} {{/if} 客户端JS: Deps.autorun(函数(){ Meteor.订阅(“城市”); Meteo

这是我的模板:


{{{#如果工作失败了}
    {{{#每个工作}
  • {{地址} {{{jobUrl url title}}} {{公司} {{dateacquired}}
  • {{/每个}}
{{else} {{>微调器} {{/if} {{{#如果工作失败了} {{{#如果作业} 每页10张 每页25英镑 每页50英镑 每页100英镑 {{/if} {{{pagination}}} {{/if}
客户端JS:

Deps.autorun(函数(){
Meteor.订阅(“城市”);
Meteor.subscribe('jobs',Session.get('CurrentIndustryNet'),function(){
Session.set('jobsLoaded',true);
});
});
Template.list.jobsLoaded=函数(){
返回Session.equals('jobsLoaded',true);
};
Template.list.rendered=函数(){
var select=$(“#每页”);
var option=select.attr(“u val”);
$('option[value=“”+option+'“]').attr(“选定的”、“选定的”);
select.selectpicker({
样式:“btn info col-md-4”,
菜单样式:“下拉反向”
});
}
Template.list.jobs=函数(){
副自动运行(函数(){
var jobs=jobs.find();
if(Session.get('CurrentIndustryNet')){
jobs=jobs.find({onet:Session.get('CurrentIndustryNet'))});
}
get('jobCount',jobs.count());
返回Pagination.collection(jobs.fetch());
});
}
服务器端JS:

Meteor.publish('jobs',函数(onet_代码){ var cursor,options={sort:{dateacquired:-1}}; 控制台日志(onet_代码); 如果(onet_代码){ cursor=Jobs.find({onet:onet_code},选项); }否则{ cursor=Jobs.find({},options); } 返回光标; }); Meteor.publish('cities',function(){ 返回城市。查找({},{sort:{pop:-1},限制:100}); }); 由于某种原因,当您加载页面时,会出现分页,但是
{{{{each jobs}}
中没有填充集合结果

更新:

Template.list.jobs=function(){
变量选项={},作业;
if(Session.get('currentMapArea')){
var c=Cities.findOne({u id:Session.get('currentMapArea'));
options.address=c.city.capitalize()+“,”+c.state;
}
if(Session.get('CurrentIndustryNet')){
options.onet=Session.get('CurrentIndustryNet');
}
如果($.isEmptyObject(选项)){
jobs=jobs.find();
}否则{
jobs=jobs.find(选项);
}
Session.set('jobCount',jobs.count());
返回Pagination.collection(jobs.fetch());
}
更新3: 分页:

Template.list.pagination = function() {
  return Pagination.links('/jobs', Session.get('jobCount') || 1, {currentPage: Session.get('page') || 1, perPage: Session.get('perPage') || 10});
}

<template name="list">
  <div class="col-md-12">
    {{#if jobsReady}}
      <ul class="list-group" id="jobs">
        {{#each jobs}}
          <li>
            <span class="pull-right">{{address}}</span>
            <span id="jobTitle">{{{ jobUrl url title }}}</span>
            <span id="company">{{company}}</span>
            <span id="date"><em>{{dateacquired}}</em></span>
          </li>
        {{/each}}
      </ul>
    {{else}}
      {{> spinner}}
    {{/if}}
  </div>

  {{#if jobsReady}}
    <div class="row">
      <div class="col-md-12">
        <div class="row">
          <div class="col-md-2">
            <select id="perPage" class="selectpicker select-block" _val="{{selected_opt}}">
              <option value="10">10 Per Page</option>
              <option value="25">25 Per Page</option>
              <option value="50">50 Per Page</option>
              <option value="100">100 Per Page</option>
            </select>
          </div>

          <div class="col-md-10">
            {{{pagination}}}
          </div>
        </div>
      </div>
  {{/if}}
  </div>
</template>
Template.list.pagination=function(){
返回分页.links('/jobs',Session.get('jobCount')|1,{currentPage:Session.get('page')|1,perPage:Session.get('perPage')|10});
}
{{{#如果作业重复}
    {{{#每个工作}
  • {{地址} {{{jobUrl url title}}} {{公司} {{dateacquired}}
  • {{/每个}}
{{else} {{>微调器} {{/if} {{{#如果作业重复} 每页10张 每页25英镑 每页50英镑 每页100英镑 {{{pagination}}} {{/if}
我相信这段代码有问题——它不会返回任何信息:

Template.list.jobs=function(){
副自动运行(函数(){
var jobs=jobs.find();
if(Session.get('CurrentIndustryNet')){
jobs=jobs.find({onet:Session.get('CurrentIndustryNet'))});
}
get('jobCount',jobs.count());
返回Pagination.collection(jobs.fetch());
});
}
思考
返回的功能。它从
Deps.autorun
中的函数返回。外部函数不返回任何内容

我认为您可以简单地丢失
Deps.autorun
并执行此操作,这仍然是被动的:

Template.list.jobs=function(){
var jobs=jobs.find();
if(Session.get('CurrentIndustryNet')){
jobs=jobs.find({onet:Session.get('CurrentIndustryNet'))});
}
Session.get('jobCount',jobs.count());//这应该是一个'Session.set'吗?
返回Pagination.collection(jobs.fetch());
}

还要注意评论中的问题。

谢谢!用我的当前代码更新了我的答案。。。它仍然不工作
分页.集合
是如何定义的?它做什么?我正在使用这个包进行分页:在哪里初始化
模板.list.pagination
?我不知道那个包,但可能有必要在他们的演示中设置它。我更新了我的问题,以包括initialization和
作业
在客户端上不是空的,对吗?