उदाहरण के लिए, एक राज्य है, जो 2 विचारों को नियंत्रित करता है:

Www/index.html

<html>
  .
  .
  .
  <body ng-app='starter' ng-controller="MainCtrl"><p>
    <ui-view name="redView" style="color:red;"></ui-view>
    <ui-view name="greenView" style="color:green;"></ui-view>
  </body>
</html>

Www/js/app.js

angular.module('starter',['ionic'])
.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('contacts',{
      'views':{
        'redView':{
          template:'<p>Red View</p>',
          controller:function($scope,$stateParams){
            console.log($stateParams.redString);
          }
        },
        'greenView':{
          template:'<p>Green View</p>',
          controller:function($scope,$stateParams){
            console.log($stateParams.greenString);
          }
        }
      }
    });
})
.controller('MainCtrl', function($scope,$state) {
  $state.go('contacts',{redString:'abc',greenString:'def'});
});

मैंने राज्य 'संपर्क' में पैरामीटर "रेडस्ट्रिंग" और "ग्रीनस्ट्रिंग" पास किया, लेकिन

console.log($stateParams.redString);

तथा

console.log($stateParams.greenString);

अपरिभाषित प्रिंट। मैं क्या गलत कर रहा हूं? कैसे जाने दें

console.log($stateParams.redString);

सफलतापूर्वक 'एबीसी' प्रिंट करता है?

0
ocomfd 24 अप्रैल 2018, 11:45

1 उत्तर

सबसे बढ़िया उत्तर

आपको राज्य वस्तु में मापदंडों के लिए एक डिफ़ॉल्ट मान घोषित करना होगा

.state('contacts',{
  'views':{
    'redView':{
      template:'<p>Red View</p>',
      controller:function($scope,$stateParams){
      console.log($stateParams.redString);
     }
   },
  'greenView':{
     template:'<p>Green View</p>',
     controller:function($scope,$stateParams){
     console.log($stateParams.greenString);
     }
   },
   params: {
     //here
     redString: null,
     greenString: null
   }
 })



.controller('MainCtrl', function($scope,$state) {
  $state.go('contacts',{redString:'abc',greenString:'def'});
});
0
Karim 24 अप्रैल 2018, 11:49