0

別のルーター内でレンダリングしようとしているルーターからのデータが読み込まれていません。メイン ルーターのデータが読み込まれています。レンダリングしようとしているルートに直接行くと、データがロードされます。

この状況をデバッグする方法を見つけることができます。提案に感謝します。

PSレンダー関数を呼び出してレンダリングしています

質問を明確にするために:

私は2つのルートを持っています

EmberTester.UsersRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('user');
  },
  isEditing: false,
  actions: {
    select: function(post) {
      this.render("external_users", {
        into: "users",
        outlet: "externalOutlet"
      });
      return false;
    }
  }
});

EmberTester.ExternalUsersRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('external_user');
  }
});

renderそして、関数を呼び出すとテンプレートがレンダリングされselectますが、 でUsers Route定義したモデルがなく、テンプレートではデータが正しく表示される必要があります。ExternalUsersRoute

別のルーターのデータをロードするフックを持つ方法はありますか?

アップデート

これが私のルーター構成です:

EmberTester.Router.map(function() {
  this.resource("users");
  return this.resource("external_users");
});

EmberTester.UsersRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('user');
  },
  actions: {
    select: function(post) {
      this.set('controller.content', this.store.find('external_user'));
      this.render("external_users", {
        into: "users",
        outlet: "externalOutlet"
      });
      return false;
    }
  }
});

EmberTester.ExternalUsersRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('external_user');
  }
});

EmberTester.externalUsersController = Ember.ObjectController.extend({
  needs: "users",
  userNameBinding: Ember.Binding.oneWay('controllers.users.external_user_id')
});

EmberTester.UsersController = Ember.ObjectController.extend({
  needs: ["external_users"],
  external_user_id: null
});

これが私の見解ですusers

%h1 Feeds
.col-md-8
  .input-group
    %span.input-group-addon @
    {{view Ember.TextField valueBinding="external_user_id" classNames="form-control" action="select" placeholder="feedname"}}
{{outlet externalOutlet}}        
%br
.col-md-8
  .panel.panel-default
    .panel-heading header here
    .panel-body to be used as description
    %table.table.table-striped
      %tr
        %th ID
        %th Name
      = hb "each user in content" do
        %tr
          %td
            = hb 'user.id'
          %td
            = hb 'user.first_name'
            = hb 'user.last_name'               

そして、これが私の見解ですExternal Users[_external_users_がコンテンツに含まれている必要があるかどうかはよくわかりませんが、レンダリング時にサーバーへの要求はありません]

.col-md-8 
  .panel.panel-default
    .panel-heading
      .glyphicon.glyphicon-picture External users    
    .panel-body
      .input-group
        %span.input-group-addon @
        {{view Ember.TextField valueBinding="userName" classNames="form-control" action="select" placeholder="feedname"}}
      = hb "each external_user in content" do
        = hb 'external_user.username'
4

0 に答える 0