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 如何在铁制路由器中更改路由时清除所有产量_Meteor_Iron Router_Router_Iron - Fatal编程技术网

Meteor 如何在铁制路由器中更改路由时清除所有产量

Meteor 如何在铁制路由器中更改路由时清除所有产量,meteor,iron-router,router,iron,Meteor,Iron Router,Router,Iron,Iron router允许将不同的内容呈现到布局模板中,或将较小的模板加载到成品中,但当用户转到不同的路径时,以前成品中的内容不会卸载其中的模板,直到您强制router将null作为模板呈现到成品中 我已经编写了一个简单的循环,在呈现新视图之前卸载所有收益,但我认为应该有更简单的解决方案 Router.route('/docs/container/', function () { // render base layout for view this.render('view');

Iron router允许将不同的内容呈现到布局模板中,或将较小的模板加载到成品中,但当用户转到不同的路径时,以前成品中的内容不会卸载其中的模板,直到您强制router将null作为模板呈现到成品中

我已经编写了一个简单的循环,在呈现新视图之前卸载所有收益,但我认为应该有更简单的解决方案

Router.route('/docs/container/', function () {

  // render base layout for view
  this.render('view');

  // clear all parts
  var yields = [
    'viewSideLeft',
    'viewSideRight',
    'viewFooter',
    'viewTopbar',
    'pageContent',
    'pageSideLeft',
    'pageSideRight',
    'pageFooter',
    'pageTopbar'
  ];
  for (var i = 0; i < yields.length; i++) {
      this.render(null, {to: yields[i]});
  }

  // and render only this parts which you need:
  this.render('viewDocsSideLeft', {to: 'viewSideLeft'});
  this.render('viewDocsSideRight', {to: 'viewSideRight'});
  this.render('viewDocsFooter', {to: 'viewFooter'});
  this.render('viewDocsTopbar', {to: 'viewTopbar'});
  this.render('pageDocsContainer', {to: 'pageContent'});
  // this.render('pageDocsContainerSideLeft', {to: 'pageSideLeft'});
  // this.render('pageDocsContainerSideRight', {to: 'pageSideRight'});
  // this.render('pageDocsContainerFooter', {to: 'pageFooter'});
  // this.render('pageDocsContainerTopbar', {to: 'pageTopbar'});

});

下面是一个与此问题相关的github问题,它似乎尚未解决

如果你使用这个布局,它是一样的吗;而不是这个。渲染“视图”;?我认为@ChristianFritz的做法是正确的,通常您可以将this.render放入使用this.layout设置的模板中。