Ответы пользователя по тегу JavaScript
  • Как сделать модульность в приложении Vue.js?

    landen13
    @landen13
    frontend-developer
    Модульность Vue приложений требует в первую очередь хранилище (хотя кто-то может и не согласиться - ибо без хранилища можно, пожалуй, и обойтись).
    Vuex - достаточно прост и понятен, можно освоить азы за полчаса, поковыряв документацию.
    Ответ написан
    Комментировать
  • Почему gulp-imagemin очень плохо сжимает файлы?

    landen13
    @landen13
    frontend-developer
    для сжатия jpg используйте imagemin-jpeg-recompress
    для сжатия png - optipng/pngquant
    Ответ написан
    Комментировать
  • Как заставить работать директиву vue в динамически добавленном элементе?

    landen13
    @landen13
    frontend-developer
    Вы идете против директивы v-html.
    Стоит либо усложнять темплейт (отказываться от v-html), либо вешать обработчик выше по DOM на родительский контейнер и проверять event.target.
    Ответ написан
    Комментировать
  • Vue2 Как получить результат шаблона в переменную?

    landen13
    @landen13
    frontend-developer
    С полностью различной версткой? Прям совсем различной? Если так, то создайте отдельный класс через Vue.extend (в котором будут описаны общие вещи, связывающие все эти компоненты) и далее используйте его для создания компонентов с разными темплейтами.

    А смысла рендерить компонент в строку с помощью VueJS как-то я не вижу.
    Ответ написан
    Комментировать
  • Как передать данные в компонент VueJS 2?

    landen13
    @landen13
    frontend-developer
    Данные в компонент передаются только посредством props. Судя по коду, Вы неплохо так запутались :)

    Посмотрите внимательно примеры в документации, там все очень хорошо написано и показано.

    Если кратко:
    Данные передаются через props. Принимаемые props изначально должны быть прописаны в компоненте.
    Весь компонент должен быть описан в импортируемом .vue файле.
    Далее он регистрируется глобально через Vue.component('my-header', myheader); (либо локально - способы регистрации компонента есть в документации).
    Также должна быть обертка вокруг Ваших my-header и my-footer, например #my-app
    Создается рутовый инстанс Vue с el: '#my-app', в котором лежат компоненты.
    VueJS находит компоненты внутри #my-app и инициализирует их.
    И в самом темплейте, где Вы прописали эти самые компоненты, им нужно передать данные.
    Например, если у вас было в компоненте:
    props: ['data']
    то передавать их нужно как обычный биндинг атрибутов:
    <my-footer v-bind:data="posts"></my-footer>
    Ответ написан
    Комментировать
  • Для чего нужны javascript фреймворки?

    landen13
    @landen13
    frontend-developer
    1. Можно. А стоит ли - это уже совсем другой вопрос. Набравшись немного опыта их использования будет проще определятся где они нужны и где нет (кеп). Главное изучить какие именно проблемы могут решать фреймворки и насколько затратно будет их применять на том или ином проекте.
    2. REST. Программисты только ради будут :)
    3. Смотря какая CMS. Чаще всего это не очень хорошая идея, однако все возможно. Зависит от того, насколько затратно будет программистам реализовывать REST в таких проектах.
    4. Опять же REST. Есть уже уйма различных фреймворков для таких вещей.

    Курсы:
    - Udemy - лучше курса нет (так говорят, сам так и не нашел времени на него)
    - Laracasts - очень хороший лектор, мало воды, много практики. Советую. Правда частично затрагивается VueJS в Laravel.
    - Документация. Всегда лучше, чем какие-либо курсы. Благо, документация у Vue просто шикарна.
    Ответ написан
    Комментировать
  • Какие фреймворки поддерживают ecmascript6?

    landen13
    @landen13
    frontend-developer
    Фреймворки наоборот диктуют использование ES6 + webpack, а не "поддерживают".

    И VueJS - единственный фреймворк из указанных вами, не требующий изначально транспилирования в ES5. А вот Vuex требует полифилл для промисов, если хотите чтобы ваш код работал в IE11.
    Ответ написан
    Комментировать
  • Фильтрация данных в spa - приложениях?

    landen13
    @landen13
    frontend-developer
    Как уже писали ранее, если данных много или они грузятся частично (то есть у вас присутствует пагинация по этим элементам) - то нужно делать реквест на сервер и получать оттуда уже отфильтрованные данные. Небольшой нюанс - при наличии пагинации вам потребуется возвращаться на первую страницу результатов.

    Если же данные статичны, их не очень много и их можно без проблем загрузить сразу на клиент, то и фильтровать можно на клиенте без проблем :)
    Ответ написан
    2 комментария
  • Какие задачи должен уметь решать web разработчик?

    landen13
    @landen13
    frontend-developer
    правильно гуглить
    Ответ написан
    Комментировать
  • Какие технологии использовать для быстрой верстки?

    landen13
    @landen13
    frontend-developer
    Технологий уйма. Я вижу, что ребята выше написали вообще все, что только можно.

    Но если говорить о скорости, то, в первую очередь, нужно все инструменты объединить в одном месте. Для этого лучше всего подходит Gulp.

    1. SASS - компилируется на ~150% быстрее чем LESS (при условии компилирования с помощью libsass), имеет интуитивно понятный синтаксис (речь о функциях и операторах, а не о CSS-возможностях).
    2. Gulp (указываю плагины, касающиеся именно повышения скорости разработки):
    - gulp-sass;
    - browser-sync - обновление стилей/изобр/скриптов без перезагрузки страницы (как статика, так и CMS)
    - генератор спрайта (как png, так и svg), при статике так же еще возможно обновление html;
    - оптимизация изображений (png, jpg, svg);
    3. Редактор кода - Sublime Text. Стабильный, быстрый, легковесный:
    - Emmet;
    - сниппеты;
    - Gulp плагин - для быстрого запуска тасков (самый удобный хоткей - CTRL + SHIFT + M - для запуска дефолтного таска, CTRL + ALT + M - для остановки всех тасков, CTRL + M - для вызова выпадающего списка с тасками);
    4. Методологии - SMACSS, как по мне, одна из самых удачных, но еще лучше разработать свой собственный подход. Верстать все максимально модульно, это даст огромный прирост скорости как на поздних этапах разработки, так и в дальнейшем при поддержке проекта.

    Ну и всегда думайте, как можно унифицировать тот или иной момент. В таком случае от проекта к проекту ваша скорость будет всегда расти, а значит времени на что-то новое будет все больше.
    Ответ написан
    4 комментария