• Как сделать эффективную систему лайков?

    profesor08
    @profesor08
    Для поста сделать счетчик лайков, так ты всегда будешь знать их количество, его ты будешь увеличивать/уменьшать при лайках или их отмене. Так-же вести отдельный учет каждого лайка юзеров, так ты всегда сможешь быстро узнать, лайкал ли юзер пост или нет.
    Ответ написан
    3 комментария
  • В какой програме сделан этот скрин (похоже на console.log)?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Ответ написан
    Комментировать
  • Зачем делают пермишены к ролям?

    riot26
    @riot26
    <:З )~~
    А потом добавился moderator. И что? Переписывать каждый контроллер? А потом оказывается юзер может редактировать только свои посты и только в течении 30мин, премиум юзер — только свои в любое время, а модератор любые посты. Писать кучу лишнего кода в контроллере? Окей, а потом кроме постов добавились фоточки с такими же условиями доступа, дублировать код? Условия доступа поменялись, например, юзеры закрепляются за модераторами, модераторы могут редактировать посты только своих юзеров. Опять бегать по контроллерам искать где что? Проще уж застрелиться чем так жить.
    Ответ написан
    Комментировать
  • Зачем делают пермишены к ролям?

    HighQuality
    @HighQuality
    ☁ Ниндзя девелопер
    Представим что мы работаем в издательстве. Пишем статьи. Автор принёс статью и редактор начал с ней работать.

    Спустя несколько итераций редактор может дать отмашку, мол статья готова к публикации. Но в моей воображаемой редакции публиковать статью может лишь главред. У обычного редактора нет на это разрешения.

    Разрешение на публикацию статей может получить и другой редактор. Например, временно, когда главред ушел в отпуск.

    Так и получается, что все заходят в один кабинет, как редакторы. Но у одних больше возможностей, чем у других.
    Ответ написан
    Комментировать
  • Зачем передавать event в компонент Vue?

    0xD34F
    @0xD34F Куратор тега Vue.js
    зачем передавать: @my-event="myEvent" ?

    Правильнее говорить не "передавать", а "назначать обработчик события". Чисто технически - да, происходит передача функции в экземпляр компонента. Но поскольку способ передачи указывает на специфический способ использования этой функции, давайте будем придерживаться соответствующей терминологии.

    Итак, зачем назначать обработчик события? Вообще - это вам виднее, надо или не надо обрабатывать событие, и если надо, то как именно. А в данном конкретном случае - чтобы обновить значение свойства родительского компонента, отвечающего за состояние диалогового окна.

    Кстати,в явном виде делать это совсем не обязательно.

    Первый вариант - можно использовать модификатор sync при привязке значения параметра aa:

    <modal-notifications :aa.sync="isActive" :message="message"></modal-notifications>

    Метод закрытия в компоненте окна в этом случае станет выглядеть так:

    closeModalWindow() {
      this.$emit('update:aa', false);
    },

    Второй вариант - управлять состоянием окна посредством директивы v-model. Надо будет заменить имя параметра с aa на value (ну или настроить model):

    props: ['aa', 'message'], ---> props: [ 'value', 'message' ],
    :class="{'is-active': aa}" ---> :class="{ 'is-active': value }"

    Переписать метод закрытия окна:

    closeModalWindow() {
      this.$emit('input', false);
    },

    Ну а в родительском компоненте станет так:

    <modal-notifications v-model="isActive" :message="message"></modal-notifications>



    Я же делаю из потомка this.$emit('my-event', this.isActive) которое слушает родитель.

    Никто ничего просто так не "слушает". Чтобы "слушать", надо назначить обработчик соответствующего события. Что и происходит посредством @my-event="myEvent".

    эмит выше вроде бы не нужен, но без него не работает

    Чё? Какой ещё "эмит"? Нет "выше" никакого "эмита". Вы в родителе событие обрабатываете, а не порождаете.

    И еще вопрос. Что делает:
    myEvent: function(isActive) {
      this.isActive = isActive
    }

    Почему оно должно что-то принимать? Можно же просто значение из data взять.

    "Значение из data" брать бессмысленно - это и есть this.isActive. Который вам обновить надо. Обновить значением, которое присылает диалоговое окно. Значением, которое передаётся в (т.е., которое принимает) обработчик события.
    Ответ написан
    Комментировать