我创建了一个库来帮助解决此类问题,请查看github
您只需将其添加到您的主应用程序视图中:
<script type="text/x-handlebars" data-template-name="application">
<!-- Your HTML code -->
<div class="container">
<div class="modal fade" id="editView" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
{{view MainApp.ModalContainerView elementId="modalContainerView"}}
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- modal edit dialog -->
{{view MainApp.AppContainerView elementId="appContainerView"}}
{{outlet}}
</div> <!-- main container -->
</script>
把它放到你的 MainApp
var MainApp = Em.Application.create({
LOG_TRANSITIONS: true,
ready: function () {
/** your code **/
MainApp.AppContainerView = Em.ContainerView.extend({});
MainApp.ModalContainerView = Em.ContainerView.extend({});
/** And other containerView if you need for sections in tabs **/
});
例如,他们要使用您想要的模板打开一个模式,您只需:
FactoryController.loadModalTemplate(templateName, callback);
并且不要忘记添加 FactoryController 和 RepositoryController