• Получить clientWidth Vue?

    potapchino
    @potapchino
    • $el.querySelector('.block__child')
    • refs
    Ответ написан
    Комментировать
  • Почему блок дергается?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Потому что когда.b-popup появляется, он закрывает собой .b-block, возникает событие mouseleave, и его надо скрывать. А как он скрылся - его надо снова показывать, потому что на .b-block возникает событие mouseenter. Ну вот так оно по кругу и происходит.

    Добавьте pointer-events: none для .b-popup. Или поместите .b-popup внутрь .b-block.
    Ответ написан
    1 комментарий
  • Как избежать [vue/no-parsing-error] Parsing error: duplicate-attribute?

    0xD34F
    @0xD34F Куратор тега Vue.js
    :license="{
      old_price: 20,
      price: 200,
      title: 2,
    }"

    Ну и остальные аналогично.
    Ответ написан
    1 комментарий
  • Что такое TDD и для чего применяется?

    Maksclub
    @Maksclub
    maksfedorov.ru
    TDD это когда сначала пишешь тест а уже потом код, а не наоборот?

    Как бы да, но скорее не просто сам тест пишешь, а пишешь клиентский код (ведь тест для чего пишешь? для кода который скоро будет), то есть ты как бы уже проектируешь на этом этапе свою программу -- что и как будет работать, а тесты показывает как этот код должен вести себя при разных ситуациях

    далее реализуешь уже запроектированный код
    Ответ написан
    Комментировать
  • Почему не работает router-view?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Если верить тому, что вы показали в качестве разметки - у вас router-view находится за пределами #app (ну и ещё странность - есть закрывающий тэг header, открывающего нет). Соответственно, отображать компоненты маршрутов попросту негде.
    Ответ написан
    1 комментарий
  • Как узнать эту информацию о Webpack?

    Machinez
    @Machinez
    Как узнать текущую версию вебпака? ( webpack -v выдает - webpack: command not found

    в директории с проектом написать npm list webpack

    Можно ли как-то узнать, установлен вебпак глобально или локально?

    локально npm list webpack
    глобально npm list webpack -g --depth 0

    Как обновить вебпак ( какая именно это команда?)

    npm remove webpack -D && npm i webpack -D
    Ответ написан
    8 комментариев
  • Как получать текст внутри тега при клике на него в Vue?

    0xD34F
    @0xD34F Куратор тега Vue.js
    выводить содержимое данного тега в консоль...

    Вешаем на элемент списка обработчик клика, которому передаём соответствующий элемент массива данных. Внутри обработчика выполняем нужные действия:

    <li v-for="n in items" @click="onClick(n)">
      {{ n.message }}
    </li>

    methods: {
      onClick(item) {
        console.log(item.message);
      }
    }


    ...или в какой-то блок

    Пусть этот блок будет расположен за пределами компонента. По клику генерируете событие, дополнительным аргументом передаём элемент массива данных:

    <li v-for="n in items" @click="$emit('select', n)">
      {{ n.message }}
    </li>

    В родительском компоненте подписываемся на это событие, сохраняем полученные данные в свойство компонента, выводим их:

    <b-list @select="selected = $event"></b-list>
    <div v-if="selected">{{ selected.message }}</div>

    data: () => ({
      selected: null,
      ...
    })

    Похоже на то, что вам нужно?
    Ответ написан
    1 комментарий
  • Что такое ноды в javascript?

    rockon404
    @rockon404
    Frontend Developer
    Почему именно ноды, а не элементы или еще как-то?
    Node дословно переводится как узел.

    - почему тут ноды
    - а тут элемент?
    В чем разница?
    Node - любой объект DOM, в нем реализованы базовые методы.
    Element - это один конкретный тип(потомок) Node. Ноды не обязательно являются элементами.
    Простой пример. Обратите внимание на свойство nodeType каждого элемента коллекции. Один элемент и две текстовые ноды.

    Node
    Element
    Ответ написан
    4 комментария
  • Многомерный ассоциативный массив на JS. Как обратиться к нужному ключу?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Например как мне получить значение ключа matched в 15 строке?

    А как коду понять, из какого ключа вы хотите получить matched? Или вам нужно вот это
    var mached = testObject.rules.password.matched;
    Ответ написан
    1 комментарий
  • Каким образом достигается такой эффект?

    Vlatqa
    @Vlatqa Куратор тега CSS
    Ответ написан
    Комментировать
  • Как проверить совпадения в массиве регулярными выражениями?

    Stalker_RED
    @Stalker_RED
    var fragments = ['@','.ru','.com'];
    var str = 'test@gmail.com';
    if (fragments.some(fragment => str.includes(fragment)) ) {
      // ...
    }

    Если нужно именно регулярку, то /@|\.ru|\.com/
    Ответ написан
    Комментировать
  • Что такое замыкание?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В целом ты все верно понял. Почитал я тут ответы, термины, термины, термины...

    Я люблю простые объяснения, буквально на пальцах.

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

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

    В случае с замыканием, ты возвращаешь функцию обратно, т.е. ссылки остаются, поэтому движок не может освободить память, и переменные остаются доступными функции, и более никому. Поэтому эта штука и называется замыкание, т.к. переменные замкнуты на саму функцию.

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

    Один из основных паттернов, для которых применяются замыкания - ограничение доступа к данным, их изоляция (ограничение их области видимости).

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

    В ответах есть пример со счетчиком, который наглядно демонстрирует этот принцип.
    Ответ написан
    2 комментария
  • Как менять содержимое селектов по дата-атрибутам?

    rework
    @rework
    Помог ответ? В благодарность отметь его решением
    https://codepen.io/anon/pen/OzpKNm?editors=1111

    $( function() {
    
      var frutsEl = $('.b-fruts');
      var discountsEl = $('.b-discounts');
      
      frutsEl.on('change', function(item) {
        var frut = $(this)
          .find('option[value="' + $(this).val() + '"]').attr('data');
        discountsEl
          .find('option')
          .hide()
          .filter('[data="' + frut + '"]')
          .show();
      
        discountsEl
          .val(
            discountsEl
              .find('option[data="' + frut + '"]:first')
              .attr('value')
            );
      });
      
      frutsEl.change();
    
    } );
    Ответ написан
    1 комментарий
  • Как менять содержимое селектов по дата-атрибутам?

    0xD34F
    @0xD34F Куратор тега JavaScript
    <select class="b-fruits">
      <option>apple</option>
      <option>orange</option>
      <option>banana</option>
    </select>
    
    <select class="b-discounts">
      <option data-type="apple">100</option>
      <option data-type="apple">200</option>
      <option data-type="orange">300</option>
      <option data-type="banana">400</option>
    </select>

    $('.b-fruits').change(function() {
      $('.b-discounts')
        .val(null)
        .find('option')
        .hide()
        .filter(`[data-type="${$(this).val()}"]`)
        .show();
    }).change();
    
    // или
    
    const fruits = document.querySelector('.b-fruits');
    const discounts = document.querySelector('.b-discounts');
    
    fruits.addEventListener('change', ({ target: { value } }) => {
      discounts.value = null;
      for (const n of discounts.options) {
        n.hidden = n.dataset.type !== value;
      }
    });
    
    fruits.dispatchEvent(new Event('change'));
    Ответ написан
    Комментировать
  • Как менять содержимое селектов по дата-атрибутам?

    xpert13
    @xpert13
    Full Stack Developer
    Как-то так (правда нужно чуть доработать с текстом в самом селекте, но думаю сами справитесь):
    $( function() {
      $('.b-fruts').change(function(){
        $('.b-discounts > option').hide();
        $('.b-discounts > option[data="'+ $(this).find('option:selected').attr('data') +'"]').show();
      }).trigger('change');
    
    } );
    Ответ написан
    1 комментарий
  • Почему такая ошибка в js?

    DOM не загрузился, выполнять код после DOMContentLoaded
    Ответ написан
    2 комментария
  • Действительно ли важно правильное питание для мозга программиста (с точки зрения науки)?

    @LEKAPb
    Расскажу историю из моей жизни которая началась в сентябре этого года, а выводы делайте сами. К своим 25 годам я имел безумную продуктивность со следующим рационом:
    1. Сигареты - 3 пачки в сутки.
    2.Отличный молотый кофе из кофемашины с безумным количеством сахара- 10 -12 кружек.
    3.Очень жирная и калорийная и безумно вкусная еда.
    4. Энергетики несколько банок для разогреву.
    5. Шоколадки и прочее сладкое в неограниченном количестве.
    Данный рацион вводил организм в "pежим бога" на 7 дней в неделю , можно было не есть или не спать ,очень продуктивно решать задачи почти круглосуточно , а того более и несколько задач одновременно. Безумное маниакальное желание постоянно кодить ,позволяло успевать делать сайд проекты и работать на фрилансе. Все было отлично и я не собирался сбавлять темп до тех пор, пока скорая не увезла меня чуть ли не с рабочего кресла в больницу, где я провалялся ещё около месяца. Сейчас строгая диета - сухари и травяной чай. Успокоительные и постельный режим. Конечно я понимаю что у меня это крайний случай и на него ориентироваться не стоит, но выводы для себя можно сделать следующие:
    1.'Самое главное - это здоровье. Когда ты полудохлых тебя меньше всего интересует твоя продуктивность.
    2. Здоровьем надо заниматься и правильно питаться исходя минимум из самоуважения к себе.
    3. Работа должна стать частью вашей жизни а не самоцелью, правильно расставив приоритеты вы поймёте, что необходимо развивать что бы быть более успешным в своём деле. Продуктивность - это далеко не самый важный показатель в работнике, есть и другие которые тоже влияют на то как ваша работа оценивается.
    4. Вы прежде всего человек. Начните правильно питаться и вести Зож хотя бы как человек, а потом уже как программист.
    Ответ написан
    Комментировать
  • Sketch vs Photoshop - у кого из них какое будущее?

    @blugamire
    Фотошоп вечен.

    А вакансии - это вообще никакой не показатель.
    Моя зарплата 15 лет назад (последний раз когда я работу искал и меня вообще интересовали вакансии, потом ушел на вольные хлеба) была по факту в 3 раза выше, чем то, что публиковалось в то время по в вакансия по моей квалификации.
    Потом начал подыскивать себе сотрудников - выяснил то же самое: то недоразумение, что приходит по вакансиям даже рядом не вписывается по квалификации, указанное в разделе "требования" в описании вакансии.

    То есть вакансии - это всего лишь выражение мечт тех, кто публикует объявления.

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

    Я вон с опытом Фотошопа, с пониманием концепции слоев - даже в убогом Гимпе за несколько минут разобрался по необходимости и со слоями выполнил проект....
    Ответ написан
    4 комментария
  • Замена содержимого и появление div при клике. Как реализовать?

    Если в содержимом "Open", развернуть DIV и изменить содержимое на "Close". Иначе свернуть DIV и изменить содержимое на "Open".

    В термины JS/jQuery сами перевести сможете, надеюсь?
    Ответ написан
    1 комментарий