0

我有我的application.hbs模板,我在其中声明了几个{{outlet}}s(命名和未命名)和一个具有指定viewClass属性的:

应用程序.hbs

{{outlet 'modal'}}
{{outlet 'notification'}}
<h1>EAK Application</h1>
{{#view 'application/content'}}
  {{!some HTML markup, etc. }}

  {{outlet viewClass='application/content-container'}}
{{/view}}

我的视图文件放在

app/views/application/content.js
app/views/application/content-container.js

但是 Ember App Kit 找不到content-container视图!

未捕获的错误:断言失败:无法在路径“视图/应用程序/内容容器”中找到视图

难道我做错了什么?

编辑


同时我做了简单的解决方法并将其称为

{{#view 'application/content-container'}}
  {{outlet}}
{{/view}}

但这给了我额外的<div>一层,并且“不那么优雅”恕我直言......

4

1 回答 1

1

当前的 Ember API 参考(http://emberjs.com/api/classes/Ember.Handlebars.helpers.html#method_outletview )说插座上的属性不应该是viewClass

{{#view 'application/content'}}
  {{!some HTML markup, etc. }}

  {{outlet view='application/content-container'}}
{{/view}}

如果没有完全了解您构建的应用程序,我无法提出具体建议,但如果您想利用深度链接 URL,则应尽可能使用路由将模板/视图分配给网点。

例如,您的 IndexRoute 将期望一个IndexTemplate和一个IndexView(或将在幕后创建一个)。在 Ember App Kit 中,它们将位于app/views/index.jsapp/templates/index.hbs。查看Rendering a TemplateEmber 网站上的指南:http: //emberjs.com/guides/routing/rendering-a-template/

或者,您也可以使用视图助手,例如:

{{view 'my-view'}}

这与普通的 Ember视图助手不同,其中视图助手需要实际的类。app/views在 Ember App Kit 中,它是基于文件名和视图从根目录的路径的文件路径。

于 2014-03-28T09:23:29.087 回答