2

我是 Ember 和 JS 的新手,到目前为止,我发现最广泛的教程是使用 1.0.0 pre2,但在官方网站上有一个非常好的描述和一些 1.0.0 pre4 的示例。我开始使用它。我被困在路由上,这是我的代码:

索引.html

<body>
        Loaded.
        <script type="text/x-handlebars" data-template-name="application">
            In template displaying val: {{name}}

            {{#linkTo "index"}}<img class="logo">{{/linkTo}}

            <nav>
              {{#linkTo "about"}}About{{/linkTo}}
              {{#linkTo "favorites"}}Favorites{{/linkTo}}
            </nav>

        </script>

        <script type="text/x-handlebars" data-template-name="about">
            Here comes the about text: {{str}}
        </script>
</body>

应用程序.js

window.App = Ember.Application.create();

App.ApplicationView = Ember.View.extend({
templateName: 'application'
})

App.ApplicationController = Ember.Controller.extend({
name: 'test'
})

App.AboutView = Ember.View.extend({
templateName: 'about'
})

App.AboutController = Ember.Controller.extend({
str: 'my string'
})


App.Router.map(function() {
 this.route("about", { path: "/about" });
 this.route("favorites", { path: "/favs" });
});

它与网站上的几乎相同。我想要并认为应该发生的是,它将显示 about 模板的内容,但它只是将 url 更新为 /#/about 或 /#/favs 。我在这里想念什么?

4

1 回答 1

6

我想要并认为应该发生的是,它将显示 about 模板的内容,但它只是将 url 更新为 /#/about 或 /#/favs 。我在这里想念什么?

您的应用程序模板没有{{outlet}}. 有了它,它将按预期工作。

有关工作示例,请参阅此jsbin 。

于 2013-01-24T17:34:30.543 回答