Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬:从afterModel获取目标url_Ember.js - Fatal编程技术网

Ember.js 余烬:从afterModel获取目标url

Ember.js 余烬:从afterModel获取目标url,ember.js,Ember.js,我有两条路径指向同一条路线: this.route('items', { path: ':fruitName/rotten' }); this.route('items', { path: ':fruitName' }); 我试图从/items/fruitName路由的afterModel钩子中获取当前URL。如果我使用这个.get('router.url'),它将在转换之前为我提供上一个url。我需要检测目标是否在路径末端“腐烂” 我发现transition.intent.url的路径是一个

我有两条路径指向同一条路线:

this.route('items', { path: ':fruitName/rotten' });
this.route('items', { path: ':fruitName' });
我试图从/items/fruitName路由的afterModel钩子中获取当前URL。如果我使用这个.get('router.url'),它将在转换之前为我提供上一个url。我需要检测目标是否在路径末端“腐烂”

我发现transition.intent.url的路径是一个字符串,但只有在手动将其输入浏览器时才有。如果单击transition的链接,则transition.intent.url未定义


如何确定转换URL是否为/items/fruitName/或/items/fruitName/rotter?

是否可以使用queryParams?因此,您的URL将如下所示:

items/tomato?rotter=false
或者,您可能想使用更通用的方法:

items/tomato?state=rotter


路由和控制器的设置与此处类似:

在确定您拥有的url之前,我的问题是:如何使用不同的url转换到同一路由(使用
{{link to}

在你的情况下,你有两个不同的目的相同的路线,我理解你想要完成什么,但你会打破余烬规则(这迫使你做一个糟糕的设计)

您可以通过使用嵌套管线来完成所需的操作。让我解释一下:

/:fruitName
/:fruitName/rotter
具有相同的基础(相同的数据):一个水果页面,但在腐烂路径中,您希望显示在另一个选项卡中

这是一个设计问题而不是布线问题,您可以充分利用嵌套布线:

  • 使用索引显示主要内容
  • 显示其他内容的子例程

你可以用一个基本的css选项卡来检查。一个明显的问题是:为什么不使用同一条路线两次?@Lux,我的页面上有两个选项卡,我需要使用上面定义的路径来定位它们。我也不想使用查询参数,因为我的网站使用了所有url参数,这将是一种不规则的行为。但是为什么两个选项卡使用相同的路径呢?只需使用两条路线!我的站点的其余部分使用所有url参数,因此我不想添加这些参数,这是一种不正常的情况。