#angular #angular6 #angular5 #angular7
#angular #angular6 #angular5 #angular7
Вопрос:
Я хочу, чтобы NodeComponent передавал параметр LayoutComponent.
const routes: Routes = [{
path: '',
component: LayoutComponent,
children: [{
path: '',
component: IndexComponent
}, {
path: 'node/:nodeId',
component: NodeComponent
}]
}];
Комментарии:
1. Какой параметр вы хотите передать? Не могли бы вы сообщить нам более подробную информацию?
2. заголовок, событие кнопки, LayoutComponent включают функции возврата и сохранения редактирования
Ответ №1:
Я предполагаю, что у вас LayoutComponent
есть <router-outlet>
заполнитель, который предоставит вам соответствующий компонент на основе маршрутизатора.
В этом случае вы не можете отправить @Output
из NodeComponent в LayoutComponent, но вы можете легко обмениваться данными через service
.
Создайте service
файл, который сохранит ваши Node
переменные / логику и обновит данные из NodeComponent
. Таким образом, LayoutComponent
он сможет его прочитать.
Пример:
@Injectable()
export class NodeService {
// Feel free to define observables, other variables or object
nodeTitle: string;
nodeBtnEvent: Event;
setNodeData(nodeTitle, event, ...){
// Assign the variables or do something
}
getNodeData() {
return {
nodeTitle,
nodeBtnEvent
}
}
constructor() {}
}
Используйте установщик для добавления данных из NodeComponent
и геттер для извлечения данных из LayoutComponent
.
Удачи!