2016-09-29 44 views
1

我有一个函数调用editDetails()..我可以导航到viewproviderEdit.html页面,但如何接收参数我在新的控制器通过

功能

  $scope.editDetails = function() { 
      console.log("id is ", id) 
      $state.transitionTo('app.viewproviderEdit', {stateParamKey: id}); 
      } 

app.router.js

   .state('app.viewproviderEdit', { 
        url: '/view-provider-edit/:id', 
        templateUrl: 'manage_provider/viewproviderEdit.html', 
        controller: 'viewprovidereditCtrl', 
        resolve: { 
         deps: ['$ocLazyLoad', 
          function($ocLazyLoad) { 
           return $ocLazyLoad.load('xeditable').then(
            function() { 
             return $ocLazyLoad.load('manage_provider/viewproviderEdit.js'); 
            } 
           ); 
          } 
         ] 
        } 
       }) 

viewproviderEdit.js

app.controller('viewprovidereditCtrl', ['$scope', '$filter','$state', 
    function($scope, $filter,$state){ 
     if($state.current.name === 'app.viewproviderEdit') 
     { 
      console.log("coming inside new controller"); 
      // above console is working 
     } 
    }]); 

如何在viewprovidereditCtrl控制器中获取id。谁能帮我。

回答

1
$scope.editDetails = function() { 
     console.log("id is ", id) 
     $state.transitionTo('app.viewproviderEdit', {id:id}); 
     } 

,改变你的控制器

app.controller('viewprovidereditCtrl', ['$scope','$filter','$state','$stateParams', 
function($scope, $filter,$state,$stateParams){ 
    if($state.current.name === 'app.viewproviderEdit') 
    { 
     console.log("coming inside new controller"); 
     // above console is working 
     console.log($stateParams.id); 
    } 
}]); 

使用$ stateParams此注入$ stateParams 1)意外标记功能(在1号线),2)争吵后:)

+0

其给予2个错误'viewprovidereditCtrl'是不是一个函数,得到了undefined – Raghav

+0

我包含viewproviderEdit.js在index.html文件中,然后也越来越'viewprovidereditCtrl'不是一个函数,得到未定义' – Raghav

+0

更新了代码,。在这里错过了逗号:( –