Ответы пользователя по тегу Vue.js
  • Почему v-bind перестает работать со строками?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    потому что с ":" - это вычисляемый аттрибут

    для примера, строку можно взять в одинарные кавычки, чтобы это было валидное выражение:
    :title="'Неработающий заголовок'"

    можно рассматривать как:
    var title = 'Неработающий заголовок';
    без одинарных кавычек, получается так:
    var title = Неработающий заголовок; - ошибочная конструкция
    Ответ написан
    Комментировать
  • VUE, как решить вопрос по странному поведению свзяывания двух свойств?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    После этой манипуляции начинается проблема:

    полной реализации не видно, - но если предположить, что в массивы запихивается объект, то тогда делайте отдельную копию объекта для каждого массива, через тот же "JSON.stringify \ parse"

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

    upd
    и геттер isChanged у вас получился слабо устойчивый к изменениям. Если в объекте поменяется порядок полей, то может быть неожиданный результат:
    // два объекта с одинаковыми данными
    let a = { a: 1, b: 1 }
    let b = { b: 1, a: 1 }
    let isChange = JSON.stringify(a) !== JSON.stringify(b);
    // isChange будет равно true
    // потому что строка будет отличаться из-за разной позиции свойств объекта
    Ответ написан
    Комментировать
  • Курс по Vue.js с тяжелым проектом?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    если все же что-то посоветуйте

    напишите "просто todo или какую-нибудь страничку с парой роутов".
    Добавьте в него 1к записей у каждой записи по 1к комментариев
    Из комментария можно перейти в карточку пользователя (кто написал комментарий).
    В карточке пользователя можно посмотреть все его комментарии.
    Из комментариев пользователя можно попасть на страницу todo листа, где этот комментарий написан
    не обязательно базу заводить, можно данные положить в каком-нибудь json файле - это не суть важна

    п.с. 1к записей\комментариев - условные - в надежде, что вы не сможете вывести их все разом на страницу, потому что страница будет тормозить, что конечно же нельзя допускать

    придумывать идею какого-то проекта, ... так это будет так же как вы и написали:
    вам дали проект, но он для вас сложный.
    вам Не нужен "тяжелый проект", вам нужен Лёгкий проект в котором можно без проблемно потренироваться выстраивать архитектуру приложения. И так же без проблемно менять архитектуру, если предыдущая вам показалась неудобной.
    ещё вот тут ссылок накидали: Что почитать по архитектуре Vue-приложения?
    Ответ написан
    1 комментарий
  • Глобальный миксин, многократный вызов mounted при инициализации?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    Что у вас на самом деле происходит - догадка
    Но, если простыми словами, то миксин в каждый компонент (которые используют этот миксин) "внедряет" методы.
    Вот у вас в 31 компонентах "внедрился" обработчик хука
    mounted() {
    console.log("Main mixin mounted")
    }
    Ответ написан
  • Как вывести вложенный список комментариев?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    вы Vue документацию хоть смотрели, или чем не подошёл этот пример?
    https://ru.vuejs.org/v2/examples/tree-view.html
    Ответ написан
    Комментировать
  • Возможно ли воздействие на index.html во vue cli c router?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    Как в vue-cli вставить мета теги в head?
    да и по ссылке, то что предлагают, - это не единственный плагин...
    Ответ написан
    3 комментария
  • Template в template?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    1. можно ли использовать template в template во vue компоненте?

    да

    можно ли из дочернего компонента воздействовать на родительский?

    да, например $emit('my-event') событий из дочернего, в родителе ловим на элементе тегом @my-event=""

    Например, если использовать pug переменные и мне нужно изменить цвет фона. В родителе я указываю - var bgpage;, а само значение пишу в дочерних компонентах?

    если у вас pug не выполняется в реалтайме - то нельзя.
    Сначала выполняется pug и собирается html
    Потом выполняется vue на Уже собранном html
    (то есть в собранном HTML уже Не будет pug переменных и прочих объявлений)
    Ответ написан
    Комментировать
  • Можно ли использовать длинные параметры в роутах Vue?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    если эти две строчки поменять местами - это не поможет? (последний пример)
    {path: '/catalog/*', name:'funcGroup', component: catalog_category},
    {path: '/catalog/*/:productId', component: catalog_product},
    Ответ написан
    1 комментарий
  • Где можно найти в vue-cli3 webpack config?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    Вам собственно для чего он? конфиг запрятан в недрах зависимостей:
    node_modules/@vue/cli-service/webpack.config.js и менять его напрямую не рекомендуется, т.к. теряется версионность

    - Если необходимо изменить настройки вебпака, как это делается есть тут (vue.config.js создаётся в корне проекта)
    - Если для редактора, то я делаю отдельный файл с минимальным объектом конфигурации, где и прописываю всякие алиасы. Потому что, например, мой phpstorm неадекватно распознаёт конфиг от vue
    Ответ написан
    1 комментарий
  • Разработка интернет-магазина?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    в вашем случае нельзя
    Ответ написан
  • VueJS: можно ли сделать глобальными переменные у препроцессоров?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    если правильно понял вопрос, то к vue мало имеет отношение, ближе к сборщику проекта.
    если используете webpack, посмотрите на пакет
    style-resources-loader
    Ответ написан