2

私はEmberとJSを初めて使用します。これまでのところ、私が見つけた最も広範なチュートリアルは1.0.0 pre2を使用していましたが、公式サイトには非常に優れた説明と1.0.0pre4の例がいくつかあります。私はそれを使い始めました。私はルーティングで立ち往生しています、ここに私のコードがあります:

index.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>

app.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 に答える