#angular
#angular
Вопрос:
У меня есть два модуля, как показано ниже. Я хочу поделиться компонентом из первого модуля во втором модуле, но с параметрами, указывающими, из какого модуля он поступает. Как я могу это сделать с помощью сервиса?
Первый модуль
@NgModule( {
declarations: [
MasterListComponent
]
Во втором модуле я могу легко использовать компонент, как показано ниже
const routes: Routes = [
{
path: '',
pathMatch: 'full',
redirectTo: 'list'
}, {
path: 'list',
data: { title: 'Administration' },
component: MasterListComponent
}];
Но в конструкторе MasterListComponent как я могу внедрить службу, чтобы узнать, откуда был вызван компонент?
Комментарии:
1. Почему вы не используете
data
свойство, как вы уже делали?data: { module: "NAME_OF_YOUR_MODULE" }
2. Как вы используете свойство data в компоненте?
Ответ №1:
Вы можете добавить свойство непосредственно в свой модуль следующим образом :
{
path: 'list',
data: {
title: 'Administration',
module: 'Your module',
},
component: MasterListComponent
}
Затем в вашем компоненте просто сделайте это :
constructor(private route: ActivatedRoute) {}
ngOnInit(): void {
console.log(this.route.snapshot.data.module);
}