【问题标题】:routable modal in ember using ember modal dialog使用 ember 模态对话框的 ember 中的可路由模态
【发布时间】:2016-05-03 17:54:19
【问题描述】:

我想创建可路由模式。为此,我知道我必须在父路由中创建嵌套路由才能工作。像这样。

Router.map(function() {
  this.route('posts', { path: '/' }, function() {
    this.route('show', { path: '/posts/:post_id' });
  })

在这个“显示”路线中是可路由的模式,当用户移动到post/id 时,它会打开一个模式。这很酷,我能够做到。我面临的问题是我有组件顶部导航栏,它是静态并包含通知下拉菜单的图标。下拉菜单包含应打开模式框以显示图像的选项。它与 fb 通知完全相似。现在我已经给出了打开图像模式的操作。这工作正常。但是当右键单击并尝试打开它搞砸的图像模式。我可以通过使用可路由模式来解决这个问题。现在我有三个路线存在

Router.js

Router.map(function() {
  this.route('myprofile',{path:'/mystudio'});
  this.route("usrprofile",{path:'/usrprofile/:id'});
  this.route("feed",path:'/feed'})
});

现在我可以为图像模式创建一条新路线。但在此它会离开当前路线并移动到指定路线。我不想要。它应该在当前路线中打开并且当用户右键单击时它应该移动到指定的路线并打开一个模式对话框。我希望这些功能与 facebook 完全一样。我应该如何实现这一点。提前致谢。

【问题讨论】:

    标签: javascript ember.js modal-dialog ember-cli


    【解决方案1】:

    除非有充分的理由说明图像模式必须基于路由,否则我认为您最好的做法是将导航栏组件中的操作发送到父路由并在那里打开模式,传递要显示的图像 URL 的模式。

    在这种情况下,您唯一放弃的是在图像打开时复制 URL 并随后使用您复制的 URL 访问同一图像的能力。

    如果这很重要,那么您确实有充分的理由使用基于路由的模式,在这种情况下,您应该查看 liquid-fire(此选项由 Ember 社区 slack 组中的 @alexspeller 建议)

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多