Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (18)
  • Почему на интерфейсе показываются старые массивы, хотя в консоли вижу, что они изменились?

    @MaxRyazan
    судя по скрину у тебя не реактивные переменные, а простые массивы - это раз
    и второе - добавить :key атрибут для цикла v-for
    Ответ написан
    Комментировать
  • Vue3 Как указать ссылку на компонент по текстовому значению его имени?

    @MaxRyazan
    А зачем текстовое значение?
    <component :is="currentComponent" />
    <button @click="currentComponent = ComponentTwo">Switch to component2</button
    <button @click="currentComponent = ComponentThree">Switch to component3</button

    import ComponentOne from '...'
    import ComponentTwo from '...'
    import ComponentThree from '...'
    
    const currentComponent = shallowRef(ComponentOne)


    Ты можешь в своём массиве каждому элементу добавить поле component и присвоить ему нужный компонент, а в цикле потом подставлять уже не текстовое значение, а именно компонент.

    const table_headers = ref([
            {name: "family_name", label: "Фамилия", widget_type: 'TextWidget', component: ComponentOne},
            {name: "given_name", label: "Имя", widget_type: 'TextWidget', component: ComponentTwo},
            {name: "date_of_birth", label: "Дата рождения", widget_type: 'TextWidget', component: ComponentThree},
        ])


    <component
          :is="col.component"
          :widget_name="[[col.name]]"
          :widget_label="[[col.label]]"
        ></component>
    Ответ написан
    2 комментария
  • Какой алгоритм получения ролей и прав пользователя на фронт vue или react и как их хранить?

    @MaxRyazan
    Если у вас на проекте jwt авторизация, то логично роли записывать в токен. Это работает так:
    пользователь вводит пароль и логин, на бэке, если все совпадает формируется токен-строка, в которую в payload можно положить роли.
    Затем, на фронте написать interceptors, которые будут проверять токен на валидность, и в том числе, парсить роли записывать их в вашу сущность user. (юзера можно хранить в сторе, или просто в js/ts файле в виде реактивного объекта, в случае vue3. У вью мощная реактивность)

    В зависимости от текущих ролей пользователя - можно показывать разные элементы на странице, и запретить доступ к некоторым роутам.

    Так же, помимо ролей есть система, называемая permissions - пермишны.
    Это когда внутри ролей есть еще подкатегории - например, сущность админ может быть нескольких видов - с правом редактирования, удаления, добавления контента, либо же, просто с правом удаления, без права редактирования.

    Вот эти доп. условия - удаление, редактирование и тп - это и есть пермишны. Я описал пример. Система может быть разной.

    Другой вариант - создать простой роут, скажем getCurrentUser, который будет возвращать текущего пользователя, вместе со всеми ролями. И дёргать роут по мере надобности - скажем, при обновлении access токена.
    Ответ написан
    5 комментариев
  • Как получить событие клика в updated()?

    @MaxRyazan
    updated срабатывает в момент ре-рендеринга реактивной переменной в шаблоне. Соответственно, когда у тебя меняется значение v-model, будет срабатывать этот хук.

    "какое событие произошло в update" - не понял суть твоего вопроса совсем.
    Судя по твоему коду, событие будет @focusout
    Ответ написан
    1 комментарий