【问题标题】:Support for object literal routing parameters in Angular UI Router支持 Angular UI 路由器中的对象文字路由参数
【发布时间】:2014-04-22 17:37:10
【问题描述】:

我一直在将 Angular UI Router 用于当前项目,并引入了一些复合表单输入,我想将它们用作我的路由的 URL 构建中的参数。本质上,我想参数化的模型是对象文字,我很想知道 ui-router 是否有能力将这些表示为 URL 参数。

在我们应用程序的其他部分,我们用点符号表示复合参数,例如?field1.a=&field1.b=&field1.c,我知道一些 PHP 框架使用数组表示法,例如?field1[a]=field1[b]=field1[c] 表示与单个模型关联的多个表单字段。

据我所知,angular ui-router 不支持类似的。我们使用的是 v0.2.8,在 ~L131 有一个规范化函数,它将强制对象文字到它们的 [object Object] 字符串表示形式。正是这个值出现在使用这种参数构建的 URL 中,例如?field1=[object Object].

我考虑过将所有相关字段作为单个参数与 JSON 字符串值集中在一起作为一种解决方法,例如?filter={"field1":{}, "field2":{}, ...},但想检查一下是否有人有更好的解决方案。

谢谢!

【问题讨论】:

    标签: angular-ui-router


    【解决方案1】:

    你的时机很好。类型参数支持刚刚合并到 ui-router master 中。它不是 0.2.10 版本的一部分,但应该是 0.3.0 版本的一部分,这需要几周时间。如果您现在构建自己的前沿大师副本并使用此功能,请向 ui-router 项目提交反馈!

    这是与类型参数支持合并的拉取请求:https://github.com/angular-ui/ui-router/pull/1032

    阅读有关输入https://github.com/angular-ui/ui-router/blob/master/src/urlMatcherFactory.js#L583的文档

    【讨论】:

    • 高五@Chris T。如果您希望在查询参数中编码完整对象,我会考虑将上述内容与Rison 之类的内容结合起来。
    • 这看起来比当前系统有了很大的改进,@Chris T。我一定会试试的,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多