質問

私はこれらの経路を定義しています:

    .state('sport',
      url: '/sport'
      templateUrl: '/templates/sport'
      controller: 'SportCtrl'
    )
    .state('sport.selected'
      url: '/:sport'
      templateUrl: '/templates/sport'
      controller: 'SportCtrl'
    )
.

そして私はSport.Selected Stateによって与えられたスポーツパラメータを使用しようとしています。

     angular.module('myApp')
       .controller('SportCtrl', ['$scope', 'ParseService', 
                   '$stateParams', function ($scope, ParseService, $stateParams) {

          var sportURL = $stateParams.sport;

      ...
    });
.

何らかの理由で、私がルートで定義したと思いますが、コントローラ内の$ stateparams.sportを呼び出すと未定義を返します。 なぜこれはケースですか?

あなたの助けをありがとう!

役に立ちましたか?

解決

URL /sport/12にアクセスすると、SportCtrlは2回インスタンス化されます。状態sportの場合は、State sport.selectedの場合は1回、1回。そして最初の状態では、状態に関連付けられているパラメータはありませんので、$stateParams.sportは未定義です。

状態とサブ状態に同じテンプレートを使用するのは非常に奇妙です。同じテンプレートのUIビューのDIV内にテンプレートが埋め込まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top