сделать переиспользование кода? Есть 2 vue компонента: один отвечает за назначение роли/разрешений пользователю, другой – за настройку ролей (создать роль, добавить/удалить разрешения/доступы). Не хочется их отдельно друг от друга развивать
Различия:
В template 2-3 строки другие.
У одного есть props, у другого нет. Различаются методы, в которых дёргаются API.
Самое очевидное: в props передать подтип этого компонента, а внутри через v-if/v-else их разделять. Но это делает компонент неспецифичным и даёт ему слишком много разнородных функций
Второй вариант: разбить на дочерние компоненты, но, кажется, это будет неадекватное усложнение, учитывая, что больше нигде эти компоненты не потребуются
Обычно у меня не возникает проблем с наполнением компонентов, но тут что-то туплю
Могут, но человек спрашивает как можно сделать, я такую логику в компонентах не храню
а где такая логика хранится
Вроде того, да. Один общий список разрешений (он с сервера достаётся). В компоненте этими разрешениями можно наполнить существующую роль или новую. Для юзера выбор роли по такой же логике осуществляется: можно выбрать из готовых ролей и подкинуть юзеру какие-то дополнительное разрешение из общего списка разрешений
<UserRoleEditor ...> <template #view={roles}> <UserRoleListView :items="roles" ...> </template> <UserRoleEditor/> <UserRoleAssigner ...> <template #view={roles}> <UserRoleListView :items="roles" ...> </template> <UserRoleEditor/>
Обсуждают сегодня