Ваш контроллер должен быть,
controller: function ($scope, $state) {
var contactInfo = $state.params.contact;
}
EDIT
Прежде всего, вы не можете передать Объект в другое состояние, подобное этому, и в вашей конфигурации мало ошибок.
Вам необходимо определить конфигурацию вашего маршрутизатора с помощью параметра. Также рассмотрите возможность использования идентификатора для перехода в другое состояние и получения сведений с помощью вызова API или использования localstorage.
Вот исправление, я посчитал номер телефона параметром состояния здесь,
.state('contactInfo', {
url: "contactInfo/:phone",
templateUrl: "contactInfo.html",
controller: function ($scope, $state, $stateParams) {
console.log('state2 params:', $stateParams);
var contactInfo = $stateParams.phone;
console.log(contactInfo);
alert(JSON.stringify(contactInfo));
$scope.name = contactInfo.name;
$scope.phone = contactInfo.phone;
}
})
и вам нужно передать информацию как,
$state.go("contactInfo", { phone : contact.phone });
PLUNKER DEMO