2017-12-10 5 views
0

に$ stateParamsの値を取得することはできません私は私のcontroller$stateParamsの値を取得しようとしていますが、それは常に未定義ですが、私は私のviewに値がある見ることができます。はコントローラ

stateparams value in view ご覧のとおり、それぞれlinkに値があります。

app.js

.state('app.help', { 
     url: '/help', 
     views: { 
      'menuContent': { 
      templateUrl: 'templates/help.html' 
      } 
     } 
     }) 
     .state('app.help-replies', { 
     url: '/help/:id', 
     views: { 
      'menuContent': { 
      templateUrl: 'templates/help-replies.html' 
      } 
     } 
    }) 

HTMLビュー

これは、これはここで、単一のVIEであるデータ表示のリストが

<div ng-repeat="x in helpData"> 
    <a class="row responsive-xs" href="#/app/help/{{x.id}}"> 
     <div class="col"><h6>{{x.subject}}</h6></div> 
    </a> 
    </div> 

あります上記のclickedデータのw。

<div class="row responsive-xs" ng-init="viewHelpAndReplies()"> 
     <div class="col"> 
     <h5>Subject: {{$scope.help_id}}</h5> 
     </div> 
    </div> 

controller.js

$scope.viewHelpAndReplies = function(){ 
    console.log($stateParams.id); 
    } 
+0

'$ stateParams'をコントローラに注入しましたか?また、いずれの状態のコントローラーも特定していない – charlietfl

+0

はい私はそれを注入しました – Emjey23

答えて

0

私はあなたがデータ

<div ng-repeat="x in helpData"> 
    <a class="row responsive-xs" ui-sref="app.help-replies({id: x.id})"> 
     <div class="col"><h6>{{x.subject}}</h6></div> 
    </a> 
    </div> 

を渡し、

でIDを取得するために、UI-SREF使うべきだと思います0
$scope.id = $stateParams.id; 
+0

それは動作していないが、とにかく感謝するまでです。 – Emjey23

0

私は必要なものを得たと思う。しかし、私はこれが良いのかどうかは分かりませんが、私にとってはうまくいくので大丈夫です。

は、ここで私は何をすべきかです:

私はng-clickhref

href="#/app/help/{{x.id}}" 

を変更し、function

ng-click="doViewHelp({id:x.id})" 

を作成して、私のcontroller.jsでfunction作成:

$scope.doViewHelp = function(data){ 
    $state.go('app.help-replies'); 
    // some codes... 
} 

ありがとうございました。