【问题标题】:Ember.js - Render modal view with URL and parent view still displayingEmber.js - 呈现带有 URL 的模态视图,父视图仍在显示
【发布时间】:2013-09-04 16:39:20
【问题描述】:

在我的 Ember.js 应用程序中,我有一个包含各种帖子列表的索引视图。我正在尝试实现单击帖子时发生的“显示”操作。它应该做的是显示一个更详细的帖子版本。帖子的每个模式视图也应该有自己的 URL。此外,列出帖子的索引视图仍应显示在帖子模式后面。最后,当 post modal 关闭时,URL 应该变回索引 URL

到目前为止,我的路线是这样的:

App.Router.reopen 
  location: 'history'
  rootURL: '/'

App.Router.map ->
  @resource 'posts', ->
    @route 'show', path: '/:post_id'

App.PostsShowRoute = Ember.Route.extend
  model: (params) ->
    App.Post.find(params.post_id)

这是我的模态视图(使用 Zurb Foundation 显示模态)

App.PostsShowView = Ember.View.extend
  templateName: 'postModal'
  classNames: ['reveal-modal']

  didInsertElement: ->
    @$().foundation('reveal', 'open')

我正在渲染到我的索引模板的插座中,但是使用当前设置它导航离开我的索引模板并仅渲染模式。再一次,我希望在索引页面中使用自己的 URL 呈现模式,并在关闭后返回索引 URL。

【问题讨论】:

    标签: javascript ember.js modal-dialog zurb-foundation


    【解决方案1】:

    您可以为模态框的应用程序模板添加一个额外的插座,然后将您的模态框渲染到该插座中。

    <script type="text/x-handlebars">
      {{outlet}}
      {{outlet modal}}
    </script>
    
    App.PostShow = Ember.Route.extend({
      renderTemplate: function() {
        this.render('postModal',{outlet:'modal',into:'application'});
      }
    });
    

    【讨论】:

    • 我正在将帖子列表呈现到包含{{outlet modal}} 的应用程序索引模板(index.hbs)中。 posts.show 路线正在渲染。将帖子列表移动到 posts.index (posts.hbs) 的模板中,然后按照您的建议将 {{outlet modal}} 移动到应用程序模板中解决了问题。我希望在访问根 URL 时呈现帖子列表,我想我可以让应用程序索引路由转换到帖子索引路由。
    猜你喜欢
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多