wkornilow
Фронт изучать с vanilaJS
Иван
Я такой фокус с мобилкой проворачивал
Иван
Ща покажу
Женя
Конкретной цели нет просто выбрал мне показалось gulp получше
Иван
function isMobile() { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) } Vue.mixin({ data() { return { mobile: isMobile(), } }, mounted() { window.addEventListener('resize', () => this.mobile = isMobile()) } }) new Vue({ render: h => h(App), }).$mount('#app')
Женя
Фронт изучать с vanilaJS
можно в личку на пару вопросов?
Женя
тут флуд
wkornilow
го
wkornilow
Конкретной цели нет просто выбрал мне показалось gulp получше
Женя
Женя
/help@GroupButler_bot
Kenan
/help@GroupButler_bot
Kenan
/help@GroupButler_bot
Максим
там даже JS свой
Иван
Блин
Иван
Представляете, js код в котором все переменные поименованы иероглифами?
Иван
Эт понятно
Bohdan
1china
Иван
ChinaScript, тогда уж
Иван
Делает все, но хреново
Сергей
как подключить lodash в эту структуру? подключал черещ импорт и юзе, но не выводится компонент тогда почему то.
Иван
в examplecomponent сделай import _ from 'lodash'
Сергей
в каждый компонент нужно будет импортить? глобально нельзя?
Иван
window._ = require('lodash')
Alexander
Подскажите пожалуйста, кто-то юзал vuelidate для валидации?
Alexander
Alexander
Почему-то сразу при открытии страницы вылазят ошибки Сделал как в мануале
Alexander
https://pastebin.com/6PFwAhLj
Alexander
Что я делаю не так?
Иван
Там есть поле нечто вроде "touched"?
Иван
A flag representing if the field under validation was touched by the user at least once. Usually it is used to decide if the message is supposed to be displayed to the end user. Flag is managed manually. You have to use $touch and $reset methods to manipulate it. The $dirty flag is considered true if given model was $touched or all of it's children are $dirty.
Иван
:state="$v.form.email.$dirty && !$v.form.email.$invalid" попробуй
Alexander
Не помогло(
Alexander
я повесил @input="!$v.form.email.$touch()"
Alexander
Но тоже не помогает
Alexander
Evgeniy
Ребзи, если я так в массив запушу итемы, он останется же реактивным? this.myObjs.forEach(item => { this.selectsArr.push(false) })
Evgeniy
в дата selectsArr: []
Alexander
:state="$v.form.email.$dirty ? !$v.form.email.$invalid : null" Вот так работает
Иван
Ну да, логично. Хотел ведь предложить :state="!$v.form.email.$dirty || !$v.form.email.$invalid"
Alexander
Спасибо за помощь)
Иван
Я в redux-form просто на такое буквально на неделе натыкался
Иван
Там это поле touched и его надо учитывать перед тем как выводить ошибку
Иван
Заметь что если ты напишешь что-нибудь, а потом удалишь, у тебя опять будет ошибка на пустом поле
Иван
Если хочешь этого избежать, тебе ещё и value надо проверять что оно не пустое
Anonymous
Кто-нибудь подскажет способы проверки пустой массив в дате или нет? Я сейчас использую template v-if/ template v-else. Дата аксиосом берётся из апи.
Anonymous
Возможно есть другие способы
Иван
А в чем проблема такого способа?
Anonymous
Проблем нет :) просто хочу узнать, есть ли другие способы
Иван
Ну иф-то у тебя по любому останется
Иван
Хотя там смотря что именно ты выводишь по условию
Evgeniy
Можешь компутед сделать, чтоб удобнее было
Иван
Ну там удобство условное очень конечно получится. Считай вместо v-if="arr.length" будет v-if="arrFilled"
Alexander
Может еще и по логике приложения подскажите) У меня в одном приложении ЛК для пользователей и ЛК для админов, у админов еще есть свои страницы, адекватно ли в таком случае показывать страницы только есть v-if="role_id==1" ?
Alexander
role_id лежит в Vuex и получается при авторизации
Иван
Тут вот точно лучше геттер запилить в vuex
Иван
А лучше даже отделить эти страницы и получать их динамически при необходимости
Anonymous
Лучше куда-нибудь в миддлвеер, и там проверять
Иван
https://gist.github.com/hfalucas/60cb40c62e2e13e6c797f4887e43c8f6 для примера
Alexander
Благодарю
Иван
Ток компонент админки динамически подгружать
Иван
component: () => import('./components/admin-component.vue')
Alexander
Понял)
VasiliyIT
Господа подскажите пожалуйста, как мне в компоненте сделать вставку жс карты яндекса ?
Andrey
добавить <script> через createElement
Иван
В mounted хуке, например
VasiliyIT
сейчас посмотрю
VasiliyIT
просто смысл, то в том что код имеет вид <script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3AckNBJekTxTEcFNkXjxKY26IPUXRnG3lG&width=100%25&height=450&lang=ru_RU&scroll=true"></script> А вуй ну никак не хочет
Иван
Смотри
VasiliyIT
Вуй всю эту строку переварить не может, пробовать как v-html но тоже нет
Иван
template: <div id="map"></div> mounted() { let s = document.createElement('script') s.src='https://api-maps.......' s.async=true document.getElementByID('map').appendChild(s) }
Иван
Тьфу, ток его в хед пихать надо
Иван
Ну принцип ты понял
VasiliyIT
да спасибо огромное
Иван
И вообще https://github.com/PNKBizz/vue-yandex-map
VasiliyIT
Andrey
Тьфу, ток его в хед пихать надо
Не обязательно в хэд
Andrey
Я не уверен даже что он отработает, если его в хэд засунуть