Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Клонирование компонента (https://javascript.ru/forum/angular/67766-klonirovanie-komponenta.html)

PabloDiguerero 06.03.2017 23:33

Клонирование компонента
 
Всем доброго дня! Возникла следующая проблема: 2 компонента - таблица с юзерами и форма редактирования юзера. При клике на строку таблицы данные загружаются в форму. Реально ли сделать так, чтобы при клике каждый раз появлялась новая форма? То есть можно ли по клику "клонировать" компонент со всем функционалом, etc? Angular 2, typescript

destus 07.03.2017 06:45

В оффициальном туториале показано, как решаются такие задачи.

PabloDiguerero 07.03.2017 12:45

destus, Спасибо!

PabloDiguerero 07.03.2017 14:40

destus, ткните меня в мануал, плз, я не смог найти

destus 07.03.2017 15:32

PabloDiguerero,
https://angular.io/docs/ts/latest/guide/router.html => run live in the browser => tab Crisis Center. Считай что тот список - это твоя таблица, а внизу форма.

PabloDiguerero 07.03.2017 15:42

Ну ок, у меня примерно такая реализация и есть. Возможно я немного неправильно сформулировал вопрос: возможно ли каждый раз открывать новую форму, не закрывая при этом старую?

destus 07.03.2017 17:16

PabloDiguerero,
Да, вомзожно. Если у тебя форма открывается в том же компоненте, то можно запоминать выбранные элементы и через ngFor выводить формы. Если формы реактивные, то циклом по ArrayGroup.

PabloDiguerero 08.03.2017 10:16

Разные компоненты - один отвечает за редактирование, другой - за отображение списка

destus 08.03.2017 13:01

PabloDiguerero,
http://plnkr.co/edit/OfheKfZqK6XtRSc...comp onent.ts . Смысл думаю понятен. Если разные компоненты, но в одном роуте, то выносишь кусок с
<div>form>...</form></div>

в свой компонент, и передаешь ему через биндинг выбранные товары (@Input())

PabloDiguerero 08.03.2017 13:14

Да, спасибо большое, я тоже вчера понял, что так будет логично и красиво


Часовой пояс GMT +3, время: 05:59.