2016-04-27 7 views
2

私はイオンアプリを持っており、オブジェクトをURL経由でコントローラに渡したいと思います。奇妙な振る舞いを符号化するイオニア角エンコードURL

urlは '/ baseurl /:path /:object /:title'のように見えます。ここで、path、:object、:titleはパラメータです。

私のコントローラにはオブジェクトがあり、それを文字列化してencodeUriComponentを実行します。これはURLの:objectパラメータに追加される私のパラメータです。

実際の問題は、特定のオブジェクトの場合、オブジェクトの文字列表現でencodeUriComponentを実行すると、URLに不正な形式になるため、私のURLが壊れることです。

デバッグするとき、オブジェクトは正しくエンコードされますが、ビューから渡すときにはURLでフォーマットされません。

オブジェクトをコントローラからビューに、そしてビューから別のコントローラに渡すのがベストプラクティスの考え方やヒントはありますか? ui-router

答えて

1

、あなたは次のように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