Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/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
Javascript angularjs$state.href使用自定义类型对象返回不正确的URL_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript angularjs$state.href使用自定义类型对象返回不正确的URL

Javascript angularjs$state.href使用自定义类型对象返回不正确的URL,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我带来了一个奇怪的问题,经过几个小时的艰苦工作,我无法解决这个问题。请帮我解决这些问题 我已经创建了一个应用自定义类型的路由 $stateProvider.state('root.projects', { url: "projects/{filterPath:nonURIEncoded}", params: { filterPath: { value: null, squash: true } } }); 自定义类型“nonUR

我带来了一个奇怪的问题,经过几个小时的艰苦工作,我无法解决这个问题。请帮我解决这些问题

我已经创建了一个应用自定义类型的路由

$stateProvider.state('root.projects', {
   url: "projects/{filterPath:nonURIEncoded}",
   params: {
     filterPath: {
       value: null,
       squash: true
     }
   }
});
自定义类型“nonURIEncoded”的目的是将state参数中的尾部斜杠视为有效的url参数,尽管这在路由中可以正常工作,但在state.href中给出了不正确的url(下面给出的示例)


似乎state.href对URL参数进行编码,并且不应用给定给特定ui状态的自定义类型对象。我正在寻找一个通用解决方案,其中任何应用于ui state的自定义对象,state.href都应该返回一个url,将自定义对象应用于它。

您考虑过使用它来修复它吗?我想要一个适用于ui路由器的所有自定义类型对象的通用解决方案,问题是state.href不适用于自定义类型对象。获取该州绝对URL的任何完整解决方案或使用state.href的任何变通方法?注意,您正在获取URL。。。它刚刚经过URL编码,您可以使用
decodeUri()
对其进行解码<代码>%2F在解码时转换为
/
。这是非常标准的东西:)没错,这将解决我的问题,我的问题的全部要点是应该有一个解决方案,适用于任何自定义类型对象的ui路由器,你的解决方案将不会工作,如果我有任何其他自定义类型对象的ui路由器,例如,我写了一个自定义类型命名为“将空格转换为连字符“它将所有参数空间转换为连字符,因此我希望state.href返回包含这些更改的url。根据我的观察状态。HREF只将PARAMS应用到状态并返回URL,它不考虑应用到该特定状态的任何自定义类型对象。也许您应该编辑您的问题并声明它,而不是说“预期输出”和“实际输出”。编辑问题的一个好处是,它将重新出现在主页上,并获得额外的可见性。
$state.href("root.projects", {
  filterPath: "computer-engineering/"
}, {                    
  absolute: true
});