我想创建可路由的模态。因为我明白我必须在父路由中创建嵌套路由才能工作。像这样。
Router.map(function() {
this.route('posts', { path: '/' }, function() {
this.route('show', { path: '/posts/:post_id' });
})
在此"节目"路由是可路由的模态,当用户移动到post/id
时,它打开一个模态。这很酷,我能够做到。我面临的问题是我有组件顶部Navbar是静态的,包含一个图标通知下拉列表。下拉列表包含选项,该选项应该打开一个模式框来显示图像。它与fb notification完全相似。现在我已经给出了打开图像模式的动作。这个工作正常。但是当右键单击并尝试打开时它被搞砸了的图像模式。我可以通过使用可路由的模态解决这个问题。现在我有三条路线
Router.js
Router.map(function() {
this.route('myprofile',{path:'/mystudio'});
this.route("usrprofile",{path:'/usrprofile/:id'});
this.route("feed",path:'/feed'})
});
现在我可以为图像模式创建一个新的路径。但是这将离开当前路线并移动到指定的路线。我不想要它。它应该在当前路线中打开,当用户执行时右键单击它应该移动到指定的路径并打开一个模态对话框。我希望这些功能与facebook完全一样。我应该如何实现这一点。提前谢谢。
答案 0 :(得分:0)
除非有充分的理由说明图像模式必须基于路径,否则我认为最好的做法是将导航栏组件中的动作发送到父路线并在那里打开模态,将模态传递给图像的URL以显示。
在这种情况下,您唯一放弃的是能够在图像打开时复制URL,然后使用您复制的URL访问同一图像。
如果这很重要,你确实有充分的理由使用基于路线的模态,在这种情况下你应该看liquid-fire(这个选项是由Ember社区松弛组中的@alexspeller建议的)< / p>