控制器動作我有一個onClick
查看事件提交按鈕。這個事件檢查一個標誌,並根據條件允許表單提交。我想叫控制器上的submit
行動。做這個的最好方式是什麼?從調用視圖灰燼
Q
從調用視圖灰燼
10
A
回答
23
這裏基於由albertjan爲例如另一種解決方案你必須在View和After之後執行一些邏輯吃了你的控制器。這是我理解你的問題的方式:
HBS:
<script type="text/x-handlebars" data-template-name="index">
<button {{action submit target="view"}} >Sumbit</button>
</script>
查看:
App.ThingView = Ember.View.extend({
submit : function(){
//do the view part of your logic
var object = //do whatever you may need
this.get("controller").send("submitInController", object); //you do not have to send object, if you do not need to
}
});
控制器:
App.ThingController = Em.ObjectController.extend({
submitInController: function(model) {
// do the controller part of your logic
}
});
注:從您的視圖呼叫也會冒泡到您當前的路線。所以這基本上是相同的代碼,即燼使用動作助手時執行。
1
我將處理控制器上的整個事件:
HBS:
<script type="text/x-handlebars" data-template-name="index">
<button {{action "submit"}}>Sumbit</button>
</script>
控制器:
App.ThingController = Em.ObjectController.extend({
submit: function() {
//handle things here!
//change the state of your object here to reflect the changes that
//the submit made so that the view shows these.
}
});
1
在餘燼版本1.0.0,我一直有成功加入行動,以自己的對象在控制器中文字。
IndexTemplate.html
<script type="text/x-handlebars" data-template-name="index">
<button {{action "submit"}}>Submit</button>
</script>
ThingController.js
App.ThingController = Ember.ObjectController.extend({
actions: {
submit: function() {
//handle things here!
//change the state of your object here to reflect the changes that
//the submit made so that the view shows these.
}
}
});
欲瞭解更多信息,請從灰燼指南中的{{action}}
helper documentation。
0
如果視圖使用ViewTargetActionSupport mixin,則可以從視圖中觸發操作。以下示例演示了它的用法:
App.SomeController = Ember.Controller.extend({
actions: {
doSomething: function() {
alert('Doing something!');
}
}
});
App.SomeView = Ember.View.extend(Ember.ViewTargetActionSupport, {
someMethod: function() {
this.triggerAction({action: 'doSomething'});
}
});
相關問題
- 1. 灰燼JS表視圖
- 2. 如果把灰燼視圖從WebSocket的
- 3. 灰燼動畫視圖更改
- 4. 沒有把手的灰燼視圖
- 5. 灰燼視圖中不顯示
- 6. 灰燼樹視圖/無限深度
- 7. 灰燼控制器vs視圖
- 8. 灰燼transitionTo和回調
- 9. 灰燼JS:從的hasMany關係,並更新視圖
- 10. 傳遞上下文從視圖中灰燼控制器
- 11. 獲取從灰燼視圖模型屬性
- 12. 灰燼刪除/銷燬並不總是從視圖
- 13. 從灰燼把手模板
- 14. 406從灰燼到DRF API
- 15. 如何從灰燼數據
- 16. 灰燼應用套件:調用視圖給我斷言失敗錯誤
- 17. 在灰燼
- 18. 麻煩灰燼
- 19. 如何灰燼
- 20. 灰燼行動
- 21. JSON爲灰燼
- 22. 在灰燼
- 23. 在灰燼
- 24. 灰燼PromiseArray sortBy
- 25. 調用`從事件處理程序super`灰燼控制器上
- 26. 灰燼問題使用this.render
- 27. 使用灰燼JS尖銳
- 28. 使灰燼應用抓取
- 29. 使用灰燼數據
- 30. Ember.HTMLBars.compile在灰燼2.7
這不可能在這裏 – bcardarella 2013-02-14 14:59:46
爲什麼在這裏不可能?你能解釋一下嗎? – albertjan 2013-02-14 17:25:21
可能提交需要一些DOM相關的東西,該控制器不能(容易)見。 – DRobinson 2013-09-30 20:49:37