Когда я использую Ember Router, как я могу определить действия в шаблоне, которые подключены к контроллеру?Ember.js Router Action to Controller
Пример здесь: http://jsfiddle.net/KvJ38/3/
Унтер Мой профиль два действия: Один определен на государстве, и работает Два определяется на контроллере. Как я могу это сделать, или я должен использовать другой подход?
App.Router = Em.Router.extend({
enableLogging: true,
location: 'hash',
root: Em.State.extend({
// EVENTS
goHome: Ember.State.transitionTo('home'),
viewProfile: Ember.State.transitionTo('profile'),
// STATES
home: Em.State.extend({
route: '/',
connectOutlets: function(router, context) {
var appController = router.get('applicationController');
appController.connectOutlet(App.HomeView);
}
}),
// STATES
profile: Em.State.extend({
route: '/profile',
connectOutlets: function(router, context) {
var appController = router.get('applicationController');
appController.connectOutlet(App.ProfileView);
}
}),
one: function() {
alert("eins");
},
})
});
Спасибо. Вот рабочее решение: http://jsfiddle.net/KvJ38/4/ – Lux
На самом деле, цель по умолчанию для действия - это содержащий контроллер, а затем маршрутизатор. Вот пример jsbin, показывающий, что контроллер обрабатывает действие, когда оно определено как на контроллере, так и на маршруте: http://emberjs.jsbin.com/tupil/3/edit. И вот ember docs о действиях: http://emberjs.com/guides/templates/actions/ – bantic
Из документов: «По умолчанию помощник {{action}} запускает метод на контроллере шаблона« http://emberjs.com/guides/templates/actions/#toc_action-bubbling – fmendez