2015-09-28 61 views
1

正如标题所说,this.render不会呈现它提供的模板。这是router.js代码:铁路由器的this.render函数不会呈现

Router.configure({ 
    layoutTemplate: 'main' 
}); 
Router.route('/', function(){ 
    this.render('postsList'); 
}); 

包含布局模板,main.html文件:

<template name='main'> 
    <div class='container'> 
     <header class='navbar'> 
      <div class='navbar-inner'> 
       <a class='brand' href='/'>MyApp</a> 
      </div> 
     </header> 
     <div id='main' class='row-fluid'> 
      {{> yield}} 
     </div> 
    </div> 
</template> 

和含有被传递到this.render()功能

<template name='postsList'> 
    <div class='posts'> 
     {{#each posts}} 
      {{> postItem}} 
     {{/each}} 
    </div> 
</template> 

的postsList模板的文件所以当我去localhost:3000/页面只显示main模板而不是postsList模板。但是,没有错误,除非我完全删除Router.route(...),此时它将显示标准的“未找到路由”错误。 此外,我试图通过删除Router.configure(...)并将this.layout('main')添加到Router.route(...)而不使用全局模板,而是使用路由模板。浏览器不显示任何内容。

回答

1

你的代码非常好。我也遇到过这个问题。 iron:router包似乎缺少ejson依赖性。

将ejson添加到您的应用程序,它应该工作。

meteor add ejson

我敢肯定,当铁:路由器更新的问题将得到解决。

+0

非常感谢!我的问题解决了:D – Jakov