перезагрузить маршрут emberjs

0

У меня есть профиль

 Remon.ProfileRoute=Ember.Route.extend({

    activate: function() {
    console.log("act");
  },

   model: function(params){
    return this.store.find("profile",params.profile_id);

 }
});

и вот мой router.js

Remon.Router.map(function(){
 this.route("news");
  this.resource("profiles");
   this.resource("profile",{path:'profile/:profile_id'},function(){
 this.route("photos");
  });
 });

и моя ссылка на помощника

  {{#link-to "profile" 1}}another profile {{/link-to}}

когда я посещаю профиль с главной страницы профилей, он работает хорошо, и метод активации также работает, но когда я нахожусь на странице профиля и пытаюсь посетить другой профиль, URL не изменен, но данные модели для второго профиля загружаются с главной страницы профилей при нажатии по профилю

Attempting transition to profile.index ember.js?body=1:3462
Transition #33: profile: calling beforeModel hook ember.js?body=1:3462
 Transition #33: profile: profile: resolving provided model ember.js?body=1:3462
  Transition #33: profile: calling afterModel hook ember.js?body=1:3462
 Transition #33: profile.index: calling beforeModel hook ember.js?body=1:3462
 Transition #33: profile.index: calling deserialize hook ember.js?body=1:3462
 Transition #33: profile.index: calling afterModel hook ember.js?body=1:3462
 Transition #33: Resolved all models on destination route; finalizing transition. ember.js?body=1:3462
  act            profile_route.js?body=1:3
  Transitioned into 'profile.index' ember.js?body=1:3462
  Transition #33: TRANSITION COMPLETE

когда я нажимаю на другой профиль на одной странице профиля, переход к новой модели не происходит, но шаблон изменен на новые данные, но url сохраняет предыдущий

 Transition #34: profile: profile: resolving provided model ember.js?body=1:3462
Transition #34: profile: calling afterModel hook ember.js?body=1:3462
Transition #34: profile.index: calling beforeModel hook ember.js?body=1:3462
Transition #34: profile.index: calling deserialize hook ember.js?body=1:3462
 Transition #34: profile.index: calling afterModel hook ember.js?body=1:3462
  Transition #34: Resolved all models on destination route; finalizing 

в консоли он остановился на

   Resolved all models on destination route; finalizing transition.

и "Переход в" профиль "не появился, а метод активации тоже не срабатывает

Обновить

Я думаю, что нашел, где ошибка, у меня есть несколько макетов

 Remon.MainLayoutView = Ember.View.extend({


didInsertElement  : function(){
    console.log("pr");
    this._super();

  this.$('#simple-menu').sidr({
      name: 'sidr-left',
      side: 'left',
      source: '#myside',
      renaming: false
  });
},
willAnimateIn : function () {

    this.$().css("opacity", 0);
},

animateIn : function (done) {
    this.$().fadeTo(500, 1, done);
},

animateOut : function (done) {
    this.$().fadeTo(500, 0, done);
},
layoutName: 'layouts/application' });

Remon.ProfileView=Remon.MainLayoutView.extend();

после удаления метода animateout он работает сейчас

Теги:
ember.js

1 ответ

0
Лучший ответ

Согласно документам для активизации:

Этот крючок выполняется, когда маршрутизатор входит в маршрут. Он не выполняется, когда изменяется модель маршрута.

Похоже, прежде чемМодель может быть лучшим местом для размещения этого кода, но я не уверен, каково ваше намерение. Что вы хотите сделать?

При этом ваш URL-адрес должен измениться при изменении моделей на странице profile. Как выглядит ваша link-to?

Вот пример проекта с вашим маршрутизатором и правильным изменением URL.

Полноэкранное приложение (чтобы увидеть изменение URL)

код на js bin

Обновить

Я попытался получить библиотеку, на которую вы ссылались (Sidr), чтобы работать, но я не могу (в разумные сроки). Я получаю Uncaught TypeError: Object [object Object] has no method 'sidr' в консоли.

Вот код.

  • 0
    URL не изменился, в маршруте профиля я пробовал много вещей, таких как {{# link-to 'profile' 1}} first profile {{/ link-to}}, и я пытался получить основной профиль как объект, и я передал его чтобы связать с ,,, вне маршрута он работает отлично .. но внутри профиля маршрута он ломается
  • 0
    просто мне нужно, когда я нажимаю на другую ссылку профиля в маршруте профиля, чтобы перезагрузить каждую вещь, например, когда я щелкаю ее из профиля профилей, например
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню