AngularUI Router: pase los parámetros u, rl al estado 'abstracto' mientras llama al estado hijo

Quiero acceder al parámetro url ($ stateParam) dentro de un estado abstracto mientras llamo a un estado hijo. Tengo curiosidad por saber cómo se puede hacer eso. Codigo ensaqueador también

$stateProvider
    .state('contacts', {
        abstract: true,

        //my whole point is to get the id=1 here :(

        url: '/contacts/:id',
        templateUrl: function($stateParams){
            console.log("Did i get the child's parameter here? " + $stateParams.id)
            return 'contacts' + $stateParams.id + '.html'; //this will have a ui-view in it which will render its detail.
        }
    })

    .state('contacts.detail', {
        url: '/:id',
        // loaded into ui-view of parent's template
        templateUrl: 'contacts.detail.html',
        controller: function($scope, $stateParams){
          $scope.person = $scope.contacts[$stateParams.id];
        },
        onEnter: function(){
          console.log("enter contacts.detail");
        }
    })
})

`

y lo llamo como

<a ui-sref="contacts.detail({id: 1})">My first contact<a>

¿Por qué estoy haciendo de esta manera? Debido a que mi plantilla del servidor es diferente para diferentes contactos, el diseño es diferente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta