Задать вопрос
  • Как на vue.js срабатывание кода для мобильных?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Ответ написан
    Комментировать
  • Как передать данные из php в js с использованием библиотеки axios?

    bootd
    @bootd Куратор тега HTML
    Гугли и ты откроешь врата знаний!
    Замените свой код на этот
    this.corrs = response.data

    P.S. И лучше запускать не в mounted, а в created хуке
    Ответ написан
  • Есть какой-нибудь универсальный и простой ajax-скрипт для отправки и удаления данных без перзагрузки?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    jquery метод напишу, что бы не расписывать

    Добавить
    //jquery
    $.ajax({
      url: '/posts',
      type: 'POST',
      data: { // JSON или FormData, в зависимости от того, как собираете данные
        head: 'Заголовок',
        desc: 'Описание'
      }
    })
    .done(response => {
      console.log(response)
    });
    
    //native js
    fetch('/posts', {
      method: 'POST',
      body: { // JSON или FormData, в зависимости от того, как собираете данные
        head: 'Заголовок',
        desc: 'Описание'
      }
    })
    .then(response => {
      console.log(response)
    })

    Удалить
    //jquery
    $.ajax({
      url: '/posts',
      type: 'DELETE',
      data: { // JSON или FormData, в зависимости от того, как собираете данные
        id: id
      }
    })
    .done(response => {
      console.log(response)
    });
    
    //native js
    fetch('/posts', {
      method: 'DELETE',
      body: { // JSON или FormData, в зависимости от того, как собираете данные
         id: id
      }
    })
    .then(response => {
      console.log(response)
    })


    Далее просто смотрите соответствующий тип запроса и делаете действие
    Ответ написан
  • Как сейчас верстаются подобные элементы?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    мультифон
    .box {
    background: 
      url('boxBg.png') center, 
      url('img1.png') top left no-repeat, 
      url('img2.png') top right no-repeat, 
      url('img3.png') bottom left no-repeat, 
      url('img4.png') bottom right no-repeat
    ;
    }


    Вот, уже 4 угла и фон есть)) и никакие псевдоэлементы с дивами не нужны
    Ответ написан
    2 комментария
  • Как научится давать сроки по проекту?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Тоже бесит эта фигня, никак не мог оценивать проекты. Потом решил делать так, брал проект, говорил какое-то время, а после, тупо, засекал время, сколько я потратил времени за работой, разделяя на части. Разделил работу по страницам: каталог, корзина, детальная товара, новости, отзывы, о компании, контакты и т.п. - это я про страницы. Потом брал ещё 1 проект, потом ещё 1. Проанализировал, где и как и за сколько я делал. Составил смету с временем для себя, где учёл все возможные разделы у сайтов и страницы, которые обычно рисуют и хотят на большинстве сайтов, будь-то магазины или визитки. Далее, беру время, которое я готов тратить за день, допустим 3-4 часа, делю на общее время, допустим, получилась неделя. В конце клиенту смело говорю, полторы недели)))) Я делаю так теперь
    Ответ написан
    4 комментария
  • Как пишут frontend на более менее больших проектах?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Ваш код вполне себе нормальный, если его разделять на модули, как вы и написали и не мешать всё в 1й куче.

    Если у вас нету никаких новомодных фреймворков, то сценарий простой. Берём вебпак, в него суём бабель, раз у вас импорты и экспорты с классами, настраиваем сборку файлов.
    Разделяете всё на модули, например, из описанных вами:
    //MobileMenu.js
    export default class MobileMenu {
    constructor() {
    this.isVisible = false;
    }
    
    toggle () {
    this.isVisible = !this.isVisible
    }
    }

    с остальными модулями по аналогии.
    Далее, создаёте файлик, где нужно запускать нужные модули. Например, у вас есть страница каталога, а есть страница товара. Для каждой страницы создавать свой файлик, в котором вы будете запускать свои модули, если это требуется.
    // Catalog.js
    import MobileMenu from '/path/MobileMenu'
    
    (() => {
    $(document).on('ready', () => {
    let mobileMenu = new MobileMenu();
    });
    })()


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

    Это грубый пример, но надеюсь, сможете что-то подчерпнуть.

    P.S. У нас есть некоторые, большие проекты, на которых мы используем +- такой подход - это старые проекты, написанные давно, но до сих пор живущие. В один миг, была такая каша из хер пойми какого кода, не пойми, что за что отвечает, багов куча, т.к. где-то запускалось то, что не должно в принципе, код обрастал кучей костылей, условий. Было 2 варианта, как проекту жить дальше, переписать на rest + vue или сделать как я написал в ответе. Выбор пал на 2й вариант. Т.к. 1й вариант потребовал бы титонических усилий, что бы всё переписать, денег на это не дали бы.

    Получилось вполне не плохо. Сейчас, при заходе нового проекта, мы сразу делаем rest api + vue. Не только потому, что это модно и т.п., а очень разделяет всё всё на компоненты, модули и т.п, отделяет бек от фронта, что уже облегчает разработку, ведь тебе уже не нужно бекенд разворачивать, делать постоянно миграции, бегать к бекендерам, если на их стороне что-то сломалось и т.п. удобства
    Ответ написан
    6 комментариев
  • Как сообщить jquery что dom изменен?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Ответ написан
    Комментировать
  • Почему если перемещать элемент в Canvas он перемещается в условных 60fps, а если внутри DIV то там тормоза?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    Canvas и html теги, это совершенно разные по логике и устройству вещи. Html теги никогда не подразумевали в себе динамическое перемещение, изменение, да и создание DOM элементов раньше не казалось чем-то нужным. Это сейчас всё изменилось, но отголоски это живут и сейчас из за обратной совместимости. Это кирпичики, которые просто должны стоять.

    Самый простой и наиболее производительный вариант для тегов это css трансформации. Больше вы ничего не сделаете. Либо, всё рисуйте на canvas
    Ответ написан
    Комментировать
  • Как принудительно остановить отрисовку всех vuejs компонентов?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Удалить его с страницы)))). Что за чушь?)))
    Он весь и построен на реактивности, сама его суть в этом. А вы хотите эту суть просто выключить. Зачем вам это?
    Может просто опишите проблему, что вас мучает и найдётся решение
    Ответ написан
  • Как рендерить компонент только после получения данных из геттера VUEX?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    убрать вообще вычисляемое свойство data и использовать просто
    $store.getters['currency/getCapitalization']
    в шаблоне, оно и так реативное. А ещё лучше так:
    <template>
    <div class="box">
    <div class="currency" v-if="getCapitalization.capitalization">
    {{getCapitalization.capitalization | comma | dollar}}
    </div>
    </div>
    </template>


    <script>
    import { mapGetters } from 'vuex'
    export default {
    computed: {
    ...mapGetters('currency', [
    'getCapitalization'
    ])
    }
    }
    </script>
    Ответ написан
    Комментировать
  • Будет ли костыль, если я начну делать мобильную версию сайта, без десктопной?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Есть подход mobile first, в котором разработка начинается с мобильной версии. Я никогда так не делал и считаю, это не удобным. Но это лично моё мнение. Просто погуглите, что это такое. Если те, кто дал вам задачу, шарят, как работать по подобной методологии, то вопросов быть не должно, хотя я считаю, что даже если начинать с мобильной, нужно видеть, как выглядит и десктопная, что бы понимать, что во что превращается
    Ответ написан
    2 комментария
  • Как сделать затемнение блока при работе скрипта?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    ищите событие, которое срабатывает в момент перемещения ползунка и показывайте блок или сделайте так, что бы в момент, когда пользователь перетащил, проскрольте к нужным блокам
    Ответ написан
  • Как редактировать стили bootstrap4?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    указать селектор точно так же, как он указан в бутстрапе
    Ответ написан
    Комментировать
  • Нужно ли презентовать работу закащику или просто отправлять исходник?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Просто отправить полноразмерные картинки с названием, например: Каталог.jpg, Корзина товаров.jpg и т.п.
    Ответ написан
  • Где искать клиентов на вёрстку?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Вот так просто никто вам не скажет, где взять клиента))) Кто такие клады вам раскроет то))

    Связи, больше дружить с людьми из своей профессии и смежных тоже, показывать профессионализм.
    Устраиваться в фирмы, работать там, нарабатывать базу. Я никогда не был на биржах, сменил за жизнь около 3х фирм. С каждой я заимел друзей, знакомых, а потом друзей друзей, с которыми постоянно работаю и по сей день. В процессе, вы кого-то порекомендовали(например знакомого дизайнера), а он потом, порекомендует вас кому либо. Сарафанное радио короче говоря.
    Ответ написан
    Комментировать
  • Добавить в массив rows (vue.js) данные из базы mysql (php)?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    запросить эти данные для начала! Как вы их запрашиваете?
    Используйте хук created внутрь которого поместите функцию, запрашивающую данные
    created () {
    this.getData();
    },
    methods: {
    getData () {
    //тут делаем запрос по api на получение данных, как только их получили, кладём в свойство rows
    }
    }
    Ответ написан
    2 комментария
  • Условие и циклы в ассоциативном массиве?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    goods[key].cost
    Ответ написан
    Комментировать
  • Сайт грузит оперативку или процессор, почему?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    У меня моментально загрузился, 2 минуты смотрел в диспетчер задач, но не увидел там каких либо аномалий!
    Вкладка с вашим сайтом занимает у меня 4-5% проца и около 150-160мб памяти. Что-то вы придумываете)). В фоне на сайте постоянно работают карта яндекса и его вебвизор, которые постоянно шлют запросы к своим серверам, что нормально, больше ничего такого я не заметил.
    Ответ написан
  • Обработка формы как в примере?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Форма отправляется через ajax. Расширение в url не показываются по разным причинам, либо бекенд так настроен, либо сервер так настроен
    Ответ написан
    Комментировать
  • Как установить высоту у блока до конца его родителя?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    А вы знаете как работают проценты? Проценты - это значит какой-то процент от значения родителя. Вы инспектором посмотрите код! Посмотрите на элемент, которому вы дали 100% высоты, а теперь, посмотрите на родителя этого элемента. Какая у него высота?

    Вам нужно растянуть сначала родителя, а уже потом ребёнка)))) Странно звучит))
    Ответ написан
    Комментировать