Ember Modal的Bootstrap

时间:2014-05-12 13:28:58

标签: javascript twitter-bootstrap ember.js modal-dialog

我使用Bootstrap作为Ember的模态。 我有一个项目列表

<script type="text/x-handlebars" data-template-name="settings/lists">
<table>
<tr><td>Item1<td><td><button {{action 'modal' 'Item1'}} >OpenModal</button></td></tr>
<tr><td>Item2<td><td><button {{action 'modal' 'Item2'}} >OpenModal</button></td></tr>
<table>
</script>

我想在每个项目上打开不同的模态框。模态需要模板的名称和控制器作为要打开的对象。我可以将控制器和模板的名称作为变量传递给动作。但我应该如何从名称中找到对象。 列表的控制器如下所示:

App.SettingsListsController = Ember.Controller.extend({
    manualButtons: [
        Ember.Object.create({title: 'Submit', clicked: "submitManual"}),
        Ember.Object.create({title: 'Cancel', dismiss: 'modal'})
    ],
    actions: {
        submitManual: function() {
            Bootstrap.NM.push('Modal destroyed!', 'success');
            return Bootstrap.ModalManager.close('manualModal');
        },
        modal: function(){
            Bootstrap.ModalManager.open('manualModal', 'Hello', 'hereshouldcomealatemplate', this.manualButtons, controllerasobject);
        }
    }

});

编辑:解决方案

我已经解决了这个问题:

<tr><td>Item1<td><td><button {{action 'modal' 'User' 'User'}} >OpenModal</button></td></tr>


    modal: function(model, template){
        var model = this.get('store').find(model);
        this.set("model",model);
        Bootstrap.ModalManager.open('manualModal', 'Hello', template, this.manualButtons, this);
    }

我从列表中传递模型的名称和模板,我即时更改了SettingLists的模型。 也许有一个更好的解决方案,但它现在有效。

0 个答案:

没有答案