“可选"带有 ui-router 的 AngularJS 状态/视图中的参数 [英] "optional" params in AngularJS states/views with ui-router

查看:34
本文介绍了“可选"带有 ui-router 的 AngularJS 状态/视图中的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个客户搜索视图,默认情况下,它只加载名字和姓氏的表单.但是,它可以将这些参数作为 URL 中的参数.我的应用配置包含:

I have a customer search view that, by default, simply loads a form for first and last name. It can, however, take those params as arguments in the URL. My app config contains:

    $stateProvider
        .state({
            name:        "search",
            url:         "/search",
            templateUrl: "partials/customerSearch.html",
            controller:  "CustomerSearchCtrl"
        })
        .state({
            name:        "searchGiven",
            url:         "/search/:fn/:ln",
            templateUrl: "partials/customerSearch.html",
            controller:  "CustomerSearchCtrl"
        })

这可行,但似乎有不必要的冗余.有没有更好的办法?这是 $urlRouterProvider 应该处理的事情吗?

This works, but it seems like it has unnecessary redundancies. Is there a better way? Is this something $urlRouterProvider should handle?

推荐答案

有一个 ui-router tracker 中关于可选参数的问题.截至目前,您无法以明确的方式指定它们,但您可以使用正则表达式:

There's an issue in ui-router tracker about optional parameters. As of now, you can not specify them in clear way, but you can use regular expressions:

url: '/search{fn:(?:/[^/]+)?}'

或查询参数:

url: '/search?fn&ln'

不过,人们正在研究它,所以我希望在未来的某个时候实现所需的功能.

People are working on it, though, so I'd expect desired functionality to land sometime in the future.

这篇关于“可选"带有 ui-router 的 AngularJS 状态/视图中的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆