angularjs - angular UI router | $stateParams not working -
seems $stateparams
not working. passing date this:
$state.go('state2', { someparam : 'broken magic' });
params being ignored on target state
console.log('state2 params:', $stateparams); // return empty object {}
code:
var app = angular.module('app', [ 'ui.router' ]); app.config(function($stateprovider) { $stateprovider .state('state1', { url: '', templateurl: 'state-1.html', controller : function ($scope, $state, $stateparams) { $scope.go = function () { $state.go('state2', { someparam : 'broken magic' }); }; console.log('state1 params:', $stateparams); } }) .state('state2', { url: 'state2', templateurl: 'state-2.html', controller : function ($scope, $state, $stateparams) { $scope.go = function () { $state.go('state1', { someotherparam : 'lazy lizard' }); }; console.log('state2 params:', $stateparams); } }); });
live example can found here
thank you.
you can't pass arbitrary parameters between states, need have them defined part of $stateprovider
definition. e.g.
$stateprovider .state('contacts.detail', { url: "/contacts/:contactid", templateurl: 'contacts.detail.html', controller: function ($stateparams) { console.log($stateparams); } }) ...
the above output object contactid property defined. if go /contacts/42
, $stateparams
{contactid: 42}
.
see documentation ui-router url routing more information.
Comments
Post a Comment