angularjs - "optional"AngularJS 状态/ View 中的参数与 ui-router

标签 angularjs angular-ui-router

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

    $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 应该处理的事情吗?

最佳答案

有一个 issue in ui-router tracker关于可选参数。目前,您还无法以明确的方式指定它们,但您可以使用正则表达式:

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

或查询参数:

url: '/search?fn&ln'

不过,人们正在努力解决这个问题,所以我预计所需的功能会在未来的某个时候实现。

关于angularjs - "optional"AngularJS 状态/ View 中的参数与 ui-router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21977598/

相关文章:

javascript - Angular 指令不工作 Chrome 打包应用程序

javascript - columnDefs 标题有时不显示

javascript - UI-router 空参数导致导航到错误的路线

javascript - 检查 subview 是否重新加载; AngularJS,UI 路由器

AngularJs ui-router成功转换获取 Controller

javascript - imagesLoaded 插件无法与 Angular JS 一起使用

javascript - 从工厂返回 Controller 中的 $http promise 时未定义

javascript - Angular 错误 : $injector:modulerr Module Error

java - 从服务器端 API 重定向时,Safari Angular URL 参数被忽略

angularjs - 如何知道 ui-router 中的下一个状态