3

我开始使用 1.0 预发布版本的 Ember.js,但遇到了麻烦。

在我的 HTML 中,我有这个:

<script type="text/x-handlebars" data-template-name="application">
  {{outlet}}
</script>

<script type="text/javascript">
    $(function() {
        console.log("starting Ember app");
        App.initialize();
    });
</script>

<div id="footer">
    ... footer html ...
</div>
</body>

这一切似乎都很好,除了它不是将视图放置在 {{outlet}} 所在的位置,而是将它附加在结束正文标记之前,以便它显示在页脚下方。

这是我正在使用的路由器:

App.Router = Ember.Router.extend({
    root: Ember.Route.extend({
        index: Ember.Route.extend({
            route: '/',
            redirectsTo: 'portfolios'
        }),
        portfolios: Ember.Route.extend({
            route: '/portfolios',
            connectOutlets: function(router) {
                router.get('applicationController').connectOutlet('portfolios', App.Portfolio.find());
            }
        })
    })
});

我究竟做错了什么?

4

1 回答 1

13

非常感谢上面的所有评论——我在他们的帮助下想通了——

在我的应用程序对象上,我需要指定一个 rootElement ala:

App = Ember.Application.create({
    rootElement: '#app',
    ...

然后在 HTML 中添加一个 div 以将带有插座的模板附加到:

<div id="app"></div>
于 2012-08-05T23:26:56.773 回答