1

子テンプレートからデータにアクセスするにはどうすればよいですか?

たとえば、彼女は私のルーターです。

App.Router.map(function() {
    this.resource("users", function(){
        this.route('new');
    });
    this.resource("user", {path: '/users/:user_id'}, function(){
        this.route('edit');
    });
});

ルート:

App.UsersIndexRoute = Ember.Route.extend({
    model: function() {
        return App.User.find();
    }
});

シングル ユーザー テンプレート:

<script type="text/x-handlebars" data-template-name="user">
    <h2>{{name_full}} is the username on the resource template</h2>
    {{ outlet }}
</script>

シングル ユーザー インデックス テンプレート:

<script type="text/x-handlebars" data-template-name="user/index">
    <h2>{{name_full}} is the username on the index page.</h2>
    {{#linkTo users}}Back to All Users{{/linkTo}}
</script>

シングル ユーザー テンプレートがユーザー オブジェクトにアクセスする方法は理解していますが、サブルート アクセス権を付与するにはどうすればよいですか?

Ember Router Guidesにアクセスしましたが、これはまだ明確ではありません。

4

1 に答える 1

2

サブルート アクセスを許可するには、UsersIndexRoute を定義し、そのモデル フックからユーザーを返す必要があります。そう:

App.UserIndexRoute = Ember.Route.extend({
  model: function() {
    return this.modelFor("user");
  }
});

modelFor は、指定されたルートの現在のモデルを検索します。これは何でもかまいませんが、この場合はたまたま親です。

于 2013-03-15T00:04:38.987 に答える