Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html  ng-app="ui-router-named-views">
<head>
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
  
</head>
<body>
<div class="container">
  <h1>Working: Passing parameters through abstract state</h1><a ui-sref="admin.from">Navigate back to from</a>
  <!-- Header -->
  <div ui-view></div>
</div>
<!-- compiled JavaScript -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.min.js"></script>
</body>
</html>
 
//Working Example passing parameters to abstract state
(function ( window, angular, undefined ) {
  
angular.module('ui-router-named-views', [
  'templates-app',
  'ui.router'
]).config([
  '$stateProvider', '$urlRouterProvider',
  function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise("/admin/from");
    
    $stateProvider.state('admin', {
                    abstract: true,
                    url: '/admin',
                    templateUrl: 'app/template/adminabstract.html',
                    controller: 'AdminAbstractController',
                    params: {
                        p1: null,
                        p2: null
                    }
                }).state('admin.from', {
                    url: '/from',
                    templateUrl: 'app/template/adminfrom.html',
                    controller: 'AdminFromController'
                }).state('admin.to', {
                    url: '/to',
                    templateUrl: 'app/template/adminto.html',
                    controller: 'AdminToController'
                });
  }
]).controller('AdminAbstractController', function($scope, $stateParams){
  $scope.p1 = $stateParams.p1;
  $scope.p2 = $stateParams.p2;
  
  
}).controller('AdminToController', function($scope){
  
}).controller('AdminFromController', function($scope,$state){
  $scope.gotoTo = function() {
    $state.go('admin.to', {p1: {one:'p1-123',two:'p1-456'},p2:'p2-123'});
  };
  
}).run(function($state){
    //console.log('IRan');
  //$state.go('admin.from');
});
  
angular.module('templates-app', ['app/template/adminabstract.html','app/template/adminfrom.html','app/template/adminto.html']);
angular.module('app/template/adminabstract.html', []).run(['$templateCache', function($templateCache) {
  $templateCache.put('app/template/adminabstract.html',
    '<div ui-view></div>');
}]);
  
   angular.module('app/template/adminfrom.html', []).run(['$templateCache', function($templateCache) {
  $templateCache.put('app/template/adminfrom.html',
    '<h2>From Parameters</h2><br>' + 
    //"<a ui-sref=\"admin.to\">goto to</a><br>" +
    '<button ng-click=\"gotoTo()\">Goto To</button>');
}]);
  
  angular.module('app/template/adminto.html', []).run(["$templateCache", function($templateCache) {
  $templateCache.put('app/template/adminto.html',
    '<h2>To Parameters</h2><br>' +
    '<div><pre>p1 = {{p1 | json}}</pre></div>' +
      '<div><pre>p2 = {{p2 | json}}</pre></div>'              );
}]);
  
 
})( window, window.angular );
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
mattjankowskipro
0viewers