Javascript Ember.js命名输出错误

Javascript Ember.js命名输出错误,javascript,ember.js,rendering,Javascript,Ember.js,Rendering,指定插座的放置位置是否有限制?我的模板不渲染,当我将指定到属性时,会出现错误。以下是相关代码: 这就是错误: Uncaught TypeError: Cannot call method 'connectOutlet' of undefined 看起来parentView在这里是null:parentView.connectOutlet(options.outlet,view)(第25461行) 我正在将设置为属性,作为出口所在模板的名称。我是否做错了,这是否应该是一个路由名称(我没有此父视图

指定插座的放置位置是否有限制?我的模板不渲染,当我将
指定到
属性时,会出现错误。以下是相关代码:

这就是错误:

Uncaught TypeError: Cannot call method 'connectOutlet' of undefined
看起来
parentView
在这里是
null
parentView.connectOutlet(options.outlet,view)(第25461行)

我正在将
设置为
属性,作为出口所在模板的名称。我是否做错了,这是否应该是一个路由名称(我没有此父视图的任何路由)

子视图路径:

App.MapSearchRoute = Ember.Route.extend({
  renderTemplate: function() {
    this.render({
      into: "sidebar",
      outlet: "sidebar"
    });
  }
});
出口在这里:

<ul class="navigation">
  <li>
    {{#linkTo map.search class="accent-blue"}}
      <i class="icon-search icon-white"></i>
    {{/linkTo}}
  </li>

  <li>
    {{#linkTo map.overlay class="accent-purple"}}
      <i class="icon-th-large icon-white"></i>
    {{/linkTo}}
  </li>

  <li>
    {{#linkTo map.contact class="accent-green"}}
      <i class="icon-envelope icon-white"></i>
    {{/linkTo}}
  </li>
</ul>

{{outlet sidebar}}
  • {{{#linkTo map.search class=“accent blue”} {{/linkTo}
  • {{{#linkTo map.overlay class=“accent purple”} {{/linkTo}
  • {{{#linkTo map.contact class=“accent green”} {{/linkTo}
{{outlet sidebar}}
之前的模板在该模板中呈现,该模板在主出口中呈现:

<div id="map"></div>
{{view App.SidebarView}}

{{view App.SidebarView}

查看渲染帮助的好地方是

您可以拥有任意数量的插座。据我所知,你的代码看起来不错。我假设您也定义了mapsearch模板?这就是将渲染到侧栏中的模板


尝试将侧边栏出口弹出到父模板中。由于它没有嵌套在侧边栏模板中的任何位置,因此不会产生视觉上的差异。请确保在渲染模板时更改“转换”标志。让我知道它是如何为您工作的。

请您分享一些代码。最有用的是模板和渲染模板的路径。@Gevious我用一些代码更新了我的问题。谢谢我确实有一个
mapSearch
模板,但不幸的是它没有呈现。我已经阅读了指南并浏览了API。它就是一动不动。我知道这个模板可以工作,因为我可以通过
{{view App.MapSearchView}}
直接渲染它。看起来效果不错。那么,问题是没有与我的中间视图相关联的路由吗?我有
MapView>SidebarView>MapOverlayView+MapSearchView+MapContactView
,只有第一个视图和最后三个子视图有路由,但
SidebarView
是无路由的。在这种情况下,似乎没有指定父视图。很可能。视图是自生成的,但我注意到有时自生成的对象并不像它们可能的那样可靠。如果你感到高兴,请随意接受答案:)