Чтобы быть более точным, я не пытаюсь это сделать в контексте тестирования.Переопределить службы, введенные в директивы
С $controller
сервисом это возможно istantiate контроллера, обеспечивая пользовательский инъекционные услуги к нему, как:
var controllerImpl = ['$stateParams', function($stateParams) {
console.log($stateParams)
}];
$controller(controllerImpl, {
$stateParams: {foo: 'bar'}
})
В этом случае controllerImpl
будет читать $ stateParams, как {foo: 'bar'}
$stateParams
службы.
Я хотел бы сделать то же самое с директивой, используя службу $compile
(возможно), но я не могу найти способ передать местные жители этой службе.
Пожалуйста, предоставьте ваш прецедент, так как не совсем понятно, чего вы хотите достичь. '$ controller' запускает контроллер, что бы вы не делали сами. Вы также не должны создавать директиву. – zeroflagL