Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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
Javascript 全局渲染余烬中的视图_Javascript_Ember.js_Coffeescript - Fatal编程技术网

Javascript 全局渲染余烬中的视图

Javascript 全局渲染余烬中的视图,javascript,ember.js,coffeescript,Javascript,Ember.js,Coffeescript,我在Ember world(来自主干网/木偶驱动的应用程序)是个新手,有些事情对我来说很不清楚 我想在我的应用程序中呈现3个视图:侧栏、导航和带有实际内容的视图(基于我的路径) 为此,我在应用程序中添加了3个tempalate插座: <nav id="main_navigation">{{outlet navigation}}</nav> <!-- some html goes here... --> <nav id="sidebar_navigatio

我在Ember world(来自主干网/木偶驱动的应用程序)是个新手,有些事情对我来说很不清楚

我想在我的应用程序中呈现3个视图:侧栏、导航和带有实际内容的视图(基于我的路径)

为此,我在应用程序中添加了3个tempalate插座:

<nav id="main_navigation">{{outlet navigation}}</nav>
<!-- some html goes here... -->
<nav id="sidebar_navigation">{{outlet sidebar}}</nav>
<section id="content">{{outlet}}</nav>
当然,我有侧边栏模板,但我不认为它的代码在这里是相关的(如果相关的话,我可以附加它)。不幸的是,这会导致以下错误:

 Error while loading route: Error: Assertion Failed: An outlet (sidebar) was specified but was not found.
如果我尝试将
注释到“application”
,则会得到以下结果:
加载路由时出错:TypeError:无法读取未定义的属性“connectOutlet”


如果有人告诉我如何全局(在所有页面上)呈现此模板,我将非常感激。

当路由器进入路由时,将执行
激活
挂钩。模板必须已在作用域中,才能将项呈现到其中。也就是说,您可以先渲染应用程序模板,然后使用
renderTemplate
hook渲染导航栏/侧栏

App.ApplicationRoute = Ember.Route.extend({
  renderTemplate: function(){
    this.render(); // render the application template
    this.render('nav',{
                into: 'application',
      outlet: 'navigation'});
    this.render('side',{
                into: 'application',
      outlet: 'sidebar'});
  }
});

此外,在模板中使用“渲染”可以更轻松地完成这一切

<script type="text/x-handlebars">
  Appplication

  {{render 'nav'}}
  {{render 'side'}}
  <section id="content">{{outlet}}</nav>
</script>

应用
{{render'nav'}}
{{render'side'}}
{{outlet}}

太好了,我不知道我可以在模板中直接使用{{render}}helper–谢谢你的帮助!
<script type="text/x-handlebars">
  Appplication

  {{render 'nav'}}
  {{render 'side'}}
  <section id="content">{{outlet}}</nav>
</script>