Ember Router: Wie verwende ich TransitionTo?
Ich habe einen Link, der so aussieht
index.html#/calendar/year/month
So richte ich meine Routen ein:
App.Router.map(function() {
this.resource('calendar', {path: 'calendar/:currentYear/:currentMonth'});
});
App.CalendarRoute = Ember.Route.extend({
model: function (params) {
var obj = {
weeks: calendar.getDaysInMonth(params.currentMonth, params.currentYear),
currentMonth: params.currentMonth,
currentYear: params.currentYear
};
return obj;
},
setUpController: function(controller, model) {
controller.set('content', model);
}
});
Ich kann es auf folgende Weise erreichen:
var currentMonth = this.get('content.currentMonth');
var nextMonth = parseInt(currentMonth)+1;
var route = '#/calendar/'
var year = this.get('content.currentYear');
window.location.href= route + year + '/' + nextMonth;
Aber ich möchte stattdessen den Router verwenden.
Ich habe es versucht:
var router = this.get('target');
router.transitionTo('#calendar/'+year + '/' + nextMonth);
Aber ich bekomme diesen Fehler:
Nicht erfasster Fehler: Bestätigung fehlgeschlagen: Die Route # calendar / 2013/5 wurde nicht gefunden
Ich habe auch versucht:
var router = this.get('target');
router.transitionTo('calendar/'+year + '/' + nextMonth);
Aber das gibt mir auch einen Fehler:
Nicht erfasster Fehler: Bestätigung fehlgeschlagen: Der Routenkalender / 2013/5 wurde nicht gefunden
Bearbeiten: zeigt mein Routing oben an