UI-路由器:参数如何映射到 url

UI-Router: how does the params map to the url

我是 Angular 和 UI-Router 的新手,我必须使用 Angular 代码库。我很难理解 params 是如何映射到 url 的。具体来说,topics 如何在 /test?topic&manualMode&advancedMode 中作为 topic 注入,我似乎找不到可以注销中间值以查看 url 是如何构造的地方。

function StateConfig(
  $stateProvider: angular.ui.IStateProvider,
  breadcrumbsService: BreadcrumbsService
) {
  $stateProvider.state("testHub", {
    params: {
      topics: null
    },

    url: "/test?topic&manualMode&advancedMode",

    views: {
      main: {
        template:
          '<div class="hubContent"><iot-mqtt-client-config></iot-mqtt-client-config></div>'
      },

      sidebar: {
        controller: HelpControllerTutorial,

        controllerAs: "vm",

        templateUrl: "pages/mqtt/mqtt-client-help.html"
      }
    }
  });

  breadcrumbsService.addConfig("testHub", {
    name: (i18n: I18nService) => i18n("text.test"),

    parentState: null,

    reconstructBreadcrumbPath: true
  });
}

这应该适用于 app.js:

.state('testHub', {
    url: "/test/:topic/:manualMode/:advancedMode", // added for dynamic ID params
})

然后您在 substances.html 中的 ui-sref 会将 (主题或手册模式或高级模式) 附加到 url,您将能够在 $stateParams

的控制器中访问它