У меня есть служба, которая помогает с некоторыми вопросами маршрутизации, связанных с моей средой, и теперь мне нужно, чтобы справиться с маршрутизацией шаблона вопросовКак использовать службу или глобальную функцию в объявлении @Component?
В идеале я мог бы сделать что-то вроде этого:
import { PathSvc } from './globals/path.svc';
@Component({
templateUrl: this.pathSvc.alias + '/app/my.comp.html'
})
export class MyComp {
constructor(private pathSvc: PathSvc) { }
}
Конечно что не работает, потому что служба не производится для использования в объявлении компонента, так что я получаю ошибку во время выполнения консоли:
requests:38 Error: TypeError: Cannot read property 'pathSvc' of undefined(…)
машинопись и модульные JS в Genaral новая вещь для меня. Может быть, есть более прямой способ импортировать мою функцию в кучу модулей и использовать ее в любом месте?
Я понимаю, что это не является оптимальным подходом, и я должен получить эти результаты, используя методологию
<base href="/{alias}" />
, но это не происходит прямо сейчас.
Короче говоря, это как-то все, что перестало работать, в то время как я пытался сделать мое приложение ASP.Net MVC + Angular 2 более динамично осведомленным о своей среде хостинга и конфликтах с концами и интерфейсом. Я бы хотел, чтобы это работало более «правильно», но на данный момент мне просто нужно, чтобы он работал, поэтому мой босс счастлив, и глобальный сценарий маршрутизации кажется таким.
DI не предполагается использовать в декораторов. Могут быть хаки, но я уверен, что они не могут работать, например, с AoT. –
Да, я полагаю, что это не должно работать так, но я не могу каким-то образом импортировать функцию из другого файла, который МОЖЕТ использовать в объявлении @Component? Мне просто не нравится то, что я делаю сейчас, что дублирует код в 10 различных компонентах, поэтому я могу ввести правильный префикс пути. – Methodician