我的路線裏面的「約會」下面我可以達到並獲得父「天」的模式如何從控制器內部獲取父路線模型?
App.Router.map(function(match) {
this.resource("day", { path: "/day/:day" }, function() {
this.resource("appointments", { path: "/appointments" }, function() {
this.route("new", { path: "/:appointment_start/new" });
this.route("edit", { path: "/:appointment_id/edit" });
});
});
});
但是,當我是新的或編輯路線內心深處,我怎麼能可達(從行動處理程序中),並像我在路線中一樣抓住父母的「日」模型?
App.AppointmentsEditController = Ember.Controller.extend({
actions: {
updateAppointment: function(appointment) {
var day = this.get('??');
}
}
});
更新
最終控制代碼現在看起來像這樣
App.AppointmentsEditController = Ember.Controller.extend({
needs: 'day',
actions: {
updateAppointment: function(appointment) {
var day = this.get('controllers.day');
}
}
});
謝謝!這工作正如你所建議的(我只需要添加需要的一天行來獲得它100%) –
你好,我正在嘗試這樣做,而是試圖獲得父Appointment而不是在AppointmentEdit控制器的一天。我嘗試使用this.get('controllers.appointments'),但我得到一個約會數組,而不是我正在編輯的特定的約會。你能否告知如何獲得正在編輯的預約?我可以使用上面的方法獲得控制器內的所有約會*的數組。我可以在路由*中獲取params.appointment_id *。但我無法弄清楚如何在任何一方中獲得預約。 –
*通過將數組保存到控制器屬性,然後從路由中獲取該屬性並轉到特定的param.appointment_id索引來修復上述問題。看起來過於複雜...也許有更好的方法? –