Уроки VueJS: Вычисляемые свойства (Computed Properties)

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 17

  • @fructcode
    @fructcode  5 ปีที่แล้ว +1

    Ссылки к уроку:
    Исходный код и интерактивное задание
    bit.ly/2LTaCQT
    Библиотека Fonts Awesome (иконки для сайта)
    fontawesome.com/
    Комьюнити FructCode
    bit.ly/2LVmNfZ
    Интерактивный курс VueJS
    bit.ly/2XEu8aS

  • @ДмитрийЛуговской-д7ф
    @ДмитрийЛуговской-д7ф 2 ปีที่แล้ว

    По уроку все понятно. Но столкнулся с задачкой посерьезнее. А именно: из родителя передаю пропс selected в дочерний элемент (форма). В этом дочернем элементе есть поле из bootstrap-vue
    По логике создаем метод Select()
    Select: function (){
    this.addTag = this.selected
    },
    А вот как быть с computed, не разобрался
    Пока так:
    computed:{
    addTag:{
    get:function (){
    return this.selected
    },
    set:function(newCat){
    const cat = {
    name: newCat,
    }
    this.categories.push(cat)
    this.selected.push(cat)
    }
    }
    }
    Но каждый раз при выборе select
    Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "selected"
    Функционал работает, в Api все передаю и делаю что нужно, но напрягает эта ошибка. И понимаю что здесь именно через computed надо это дело реализовать. Может кто подскажет?

  • @Алексей-ш8э3л
    @Алексей-ш8э3л 4 ปีที่แล้ว +2

    Всё было очень понятно и классно , до того момента, когда вы начали говорить о set и get. Я не уловил связь, почему для использование set, который записан в computed, вы создаёте отдельный метод setName? И каким образом, он влияет на set в computed?

    • @motatmb
      @motatmb 3 ปีที่แล้ว

      В этом фишка таких роликов - по несколько раз разжёвывать очевидное, а потом бац - "рояль в кустах"

  • @aleksandrgrippa8348
    @aleksandrgrippa8348 4 ปีที่แล้ว

    Хорошо объяснили, спасибо!) И записанно качественно- все видно, слышно))

  • @artemy5594
    @artemy5594 ปีที่แล้ว

    ты не объяснил почему methods вызывается 2 раза, хотя данные не затронуты при вызове кнопки. Просто констатировал факт, что вызывается дважды и все.

  • @СергейСульженко-ф9я
    @СергейСульженко-ф9я 2 ปีที่แล้ว

    Очень крутое и полезное видео. Спасибо. Лайк. Подписка)

  • @leopet6815
    @leopet6815 4 ปีที่แล้ว

    Спасибо, всё чётко и понятно!

  • @zemaskater7180
    @zemaskater7180 3 ปีที่แล้ว

    С таким же успехом, мог прочитать документацию Vue. Тупо выучил статью и словами проговорил. Гений

    • @fructcode
      @fructcode  3 ปีที่แล้ว +2

      Зачем тогда обучающие видео смотрите по теоретический части Vue.js?
      Читайте документацию :) Или я должен теоретическую часть и спецификации к фреймворку сам придумывать? :)
      Но, если хотите, вот вам недокументированные возможности Vue.js:
      getMoney(1000000); // И на банковском счете +1м долларов
      getHookers(3); // Приезжают три увлекательные собеседницы и занимаются с вами программированием игнорируя спецификации
      getDrugs(); // Привозят таблетки от головной боли
      Записывать по этим методам уроки? :)

  • @kudkuda9376
    @kudkuda9376 2 ปีที่แล้ว

    CСпасибо!

  • @Frontend-Developer-UA
    @Frontend-Developer-UA 4 ปีที่แล้ว

    А что тогда писать в methods или вообще туда ничего не писать и все теперь писать только в computed ?

    • @user-oi7sd1nw6s
      @user-oi7sd1nw6s 4 ปีที่แล้ว +1

      Методы это процедуры в то время как вычисляемые свойства это только функции. Передавая такое свойство в HTML атрибута тега эта функция возвращает значение (запускается) как только DOM отрендерит тег, в то время как метод срабатывает при только определенном событии. Там есть свои исключения, но в целом логика такая

  • @frontman6849
    @frontman6849 4 ปีที่แล้ว

    this.fullName = this.tempName
    Не понимаю эту строку, разве мы не должны были написать
    this.fullName.set(this.tempName) ?

    • @stt1632
      @stt1632 4 ปีที่แล้ว

      Vue работает не как реакт

  • @sekirogenshiro2210
    @sekirogenshiro2210 3 ปีที่แล้ว

    СУпер!

  • @artjom2535
    @artjom2535 3 ปีที่แล้ว

    спасибо за объяснение. помогло. можно ли как-то докапаться до истины и узнать почему же вызывался метод возврата имени два раза? th-cam.com/video/tNSx6_zdIe0/w-d-xo.html
    Сделал подобный тест в ангуляре, там вызывается ещё чаще.