使用包含ember的对话框的官方手册使用了一个组件: http://emberjs.com/guides/cookbook/user_interface_and_interaction/using_modal_dialogs/
我想做的是改用twitter bootstrap 2对话框。
除了closeModal动作外,它确实有效。
我需要在bootstrap事件中注册回调"隐藏"这称为关闭动作,但我的尝试没有成功。
App.ModalDialogComponent = Ember.Component.extend({
didInsertElement: function () {
this.$('.modal').modal('show');
this.$('.modal').on("hidden", function () {
// how to trigger the close action from here ?
});
},
actions: {
close: function () {
return this.sendAction();
}
}
});
这是一个完整的jsFiddle: http://jsfiddle.net/NQKvy/417/
答案 0 :(得分:2)
根本不需要采取紧密行动。
这是一个有效的jsFiddle,我只保留必要的部分并将willDestroyElement添加到组件中: http://jsfiddle.net/NQKvy/421/
App.ModalDialogComponent = Ember.Component.extend({
didInsertElement: function () {
var self = this;
this.$('.modal').modal('show');
this.$('.modal').on("hidden", function () {
self.sendAction();
});
}
});
答案 1 :(得分:1)
执行以下操作
App.ModalDialogComponent = Ember.Component.extend({
didInsertElement: function () {
self=this
this.$('.modal').modal('show');
this.$('.modal').on("hidden", function () {
self.send('close')
});
},
actions: {
close: function () {
return this.sendAction();
}
}
});