6
我有一個可能從不同的路由/模板觸發的動作,但最終應該發送到應用程序控制器中的動作。我該怎麼做呢?我只看到needs
屬性用於將操作發送給子控制器的示例。如何將操作發送給父控制器?
那麼從/posts/post
和/
(應用程序)發送的動作如何被髮送到應用程序控制器?
我有一個可能從不同的路由/模板觸發的動作,但最終應該發送到應用程序控制器中的動作。我該怎麼做呢?我只看到needs
屬性用於將操作發送給子控制器的示例。如何將操作發送給父控制器?
那麼從/posts/post
和/
(應用程序)發送的動作如何被髮送到應用程序控制器?
你通常在ApplicationRoute定義表單處理程序:
App.ApplicationRoute = Em.Route.extend({
actions: {
print: function() {
console.log('hello');
}
}
});
然後,如果你的行動是不是你的控制器或特定的路線,該操作將向上冒泡到任何父路徑,直到ApplicationRoute定義要麼。
如果要在路由和應用程序級別處理動作,則必須在動作處理程序中返回true以便動作可以起泡。
App.IndexRoute = Em.Route.extend({
actions: {
print: function() {
console.log('hello');
return true;
}
}
});
檢查guide的詳細說明。
謝謝,我定義的動作是應用程序路線而不是應用程序功能 –
,這是驚人的。謝謝。 – kushdilip
這不行! –