离子角编码url编码的奇怪行为

问题描述:

我有一个离子应用程序,我想通过url将视图中的对象传递给控制器​​。离子角编码url编码的奇怪行为

url看起来像'/ baseurl /:path /:object /:title',其中:path,:object,:title是参数。

在我的控制器中,我有一个对象,我对它进行了字符串化并对其运行encodeUriComponent,这是我的参数,它将被添加到url中的:object参数中。

实际的问题是,对于特定的对象,在对象的字符串表示形式上运行encodeUriComponent会导致url中的格式不正确,从而破坏我的url。

调试时,该对象编码正确,但只有在从视图中传递它时,它的格式很差。

任何想法或提示,如何将对象从控制器传递到视图以及从视图传递到另一个控制器是最佳实践?

随着ui-router,你可以传递参数,而不在URL中指定他们是这样的:

.state('contacts', { 
    url: "/contacts", 
    params: { 
     param1: null 
    } 
    templateUrl: 'contacts.html' 
}) 

的更多细节和用法示例见https://github.com/angular-ui/ui-router/wiki/URL-Routing#using-parameters-without-specifying-them-in-state-urls

+0

谢谢,我没有测试这个,但看起来不错 – patentul