1

私は角度と角度のルーターUIを使用しています。動的 URL パラメータを利用したい。

これは私がそれを使用する方法です:

          .state('index.domain', {
            url: '/domain',
            template: "<div ui-view> Home Domain page </div>"
          })

            .state('index.domain.id', {
              url: '/:domainId',
              resolve: {
                domainId: function($stateParams){
                  return $stateParams.domainId;
                }
              },
              templateUrl: "./development/administration/domain.html",
              controller: function(domainId){
                console.log(domainId);
              }
            })

次の呼び出しでルーティングを呼び出しています。

$state.go('index.domain.id', {"domainId": domainId});

解決を実行し、$ stateParamsが domainId を持つオブジェクトを取得します。それにもかかわらず、コントローラには入りません。URL/:domainId も変更されません。

ブラウザーで URL/RANDOM_DOMAIN_ID (RANDOM_ID は domainId の有効な番号)を指すように URL を変更すると、解決が実行され、コントローラーに移動します。

$state.go 呼び出しで何か不足していますか?

4

1 に答える 1

1

作業プランカーがあります

上記の状態定義をそのまま使用しました。

.state('index', {
    url: '/index',
    template: "<div ui-view> Index </div>"
  })
.state('index.domain', {
    url: '/domain',
    template: "<div ui-view> Home Domain page </div>"
 }) 
.state('index.domain.id', {
  url: '/:domainId',
  resolve: {
    domainId: function($stateParams){
      return $stateParams.domainId;
    }
  },
  templateUrl: "development/administration/domain.html",
  controller: function(domainId){
    console.log(domainId);
  }
})

そして、呼び出し側でいくつかの調整を行いました-これは機能しています:

<a ui-sref="index.domain.id({domainId: 1})">...
<button ng-click="$state.go('index.domain.id', {domainId: 22});">...

ここで確認してください

于 2015-11-16T11:00:10.270 に答える