3

クエリ パラメータを含む完全な URL を使用して状態にルーティングし、クエリ パラメータに従ってコントローラでアクションを実行する必要があります。

「/load/:portName/:id」のような変数を含む単純なルーティング URL を使用すると、正常に動作します。

queryparameters を追加しても機能しません: "/load?portName&id"

上記は次の URL でアクセスできるはずです: "/load?portName=TEST&id=343"

HTMLで定義されたルートとコントローラーのコードスニペットを以下に投稿しています。

       $stateProvider
        .state('route0', {
            url:"/",
            templateUrl: '/one.html'
        })
        .state('route1', {
            url:"/starZoom",
            templateUrl: '/two.html'
        })
        .state('route2', {
            url: "/:name",
            templateUrl: function (urlattr) {
                return '/app/' + urlattr.name + '/' + urlattr.name + '.html';
            }
        })
      .state('route3', {
          url:"/load?portName&id",
          views: {
              templateUrl: '/one.html'
          }
        });

HTML :

<div class="viewPanel" 
   ng-controller="StatusSearchController as searchController"
   id="searchStatusContainer"> ....</div>

angular および ui-router のバージョン: "angular": "1.4.10"、"angular-sanitize": "1.4.10"、"angular-ui-router": "0.2.10"

URL を使用して route3 を直接ロードしたい: localhost:4000/load?portName=test&id=45 ありがとう

4

1 に答える 1