Anonymous
А по сколько во фреймворке стили компонента непосредственно привязаны к нему то смысл делать длинные имена классов
Anonymous
Anonymous
Evgheni
почему
не действуют например на компонентов наследников, семантика в полной жопе
Anonymous
Armen
Vladislav
Anonymous
аа ты про наследование )
Vladislav
ну с другой стороны и не должны
Evgheni
для небольших правок я не спорю что scoped это хорошо но блин, смотришь потом в инспектор а там порнуха
Anonymous
кстати скажите еще как можно сделать компонент с разными шаблонами
Anonymous
то есть логика одна а шаблоны разные
Anonymous
я так понимаю наследоваться просто?
Vladislav
Armen
Armen
Смотри Deep Selectors
Armen
я так понимаю наследоваться просто?
Можно создать два индекса для компонента. Типа такая структура:
- componentName/
—- index1.vue
—- index2.vue
—- template1.html
—- template2.html
—— script.js
—— style1.css
—— style2.css
Anonymous
Anonymous
Правда тогда наоборот же 1 вью файл
Anonymous
а подключать пагом чтоли
Anonymous
кстати а вы каждый компонент в отдельной папке храните?
Armen
В index1.vue:
<template src="./template1.html"/>
<script src="./script.js" />
<style src="./style1.css />
В index2.vue:
<template src="./template2.html"/>
<script src="./script.js" />
<style src="./style2.css />
Anonymous
есть у кого качественный проект на гитхабе?
Armen
Anonymous
Интересно глянуть
Anonymous
интересный вариант )
Armen
Хотя, чтобы проще было, можно только script вынести в отдельный файл
Armen
А шаблоны и стили в .vue файлах прописать
Armen
Я чот сразу до этого не додумался)
Andy
@eddimensi короче, у меня не получилось с пропсами в компонент, хз может 20 часов без сна сказываются -_- решил сделать методом в самом компоненте для подсветки включенных фильтров setActiveFilters: function () {
let f = Object.keys(this.$route.query);
var i = f.length;
while (i--){
this[f[i]] = true;
}
}, это норм?
Armen
Andy
Armen
А что у тебя?
Andy
у меня laravel и single file компоненты, а роутер для поиска/фильтрации + мессенджер. вот в мессенджере норм все работает. вообще гуд работало, пока mode history не поставил, но там это мешало, а тут походу нужно)
Andy
кличко стайл сори)
Nikita
Если люди выше способны отказаться от бема после бема, значит не очень они бем использовали. Сложно перестать мыслить без бема.
Nikita
https://github.com/c01nd01r/vue-bem-cn эту либу юзаю для бема
Anonymous
xxtux
А что мешает компоненту задать корневой класс, а все внутри него каскадом
xxtux
Хотя это мало отличается от scoped
Nikita
Nikita
бред какой-то
Nikita
у бема все стили одноуровневые
Nikita
а ты добавляешь специфичность таким образом
Nikita
Nikita
вообще сложно отказаться писать стили в "стиле бем", когда к этому уже привык. Да и мыслю я например только как блок-элемент-модификатор, и для компонентов я держу другую абстракцию, но в конечном итоге они у меня связаны и взаимодействуют с друг с другом
Harzink
хм. вопрос такой: делаю маленький проектик для общего развития. бэкэнда на нем не будет. как лучше организовать хранение настроек. вот vue-cookie - это ок. но чтобы на разбрасывать это все хотелось бы как-то это в одном месте собрать. при этом в store это будет ли нормально, если я буду по-сути делать геттеры и мутации при этом обращаясь на деле не к его хранилищу state, а cookie. или я вообще неправильно мыслю в этом случае?
Nikita
зачем тебе куки, если у тебя нет общение с сервером
Nikita
почему не использовать localStorage или indexedDb ?
Harzink
ну допустим я хочу сохранить выбраную в последний раз локализацию
Nikita
localStorage
Nikita
ты можешь почитать за localStorage ?
Просто я не вижу преимуществ куки перед стором, если у тебя нет общения с сервером
Nikita
если тебе нужно настоящая база то можешь юзать indexeDb
Nikita
это клиенская база данных
Nikita
например этот проект сохраняет в такую базу всю свою базу, чтоб потом работать в оффлайн
http://devdocs.io/javascript/
Andy
ребята, почему url не меняется? по идее if true, то после удаления строки в query путь должен меняться на новый, но происходит какой-то бред```if (this[filter] == false) {
this.$router.push({ query: {
...this.$route.query,
[filter]: 1,
}});
this[filter] = true;
} else if (this[filter] == true) {
delete this.$route.query[filter];
this.$router.push({ push: 'vacancies', query: this.$route.query});
this[filter] = false;
}```
Andy
пробовал с replace - еще хуже
Nikita
не знаю где ты такую логику выдумал
Nikita
сам придумал?
Nikita
Nikita
пересобирай обьект query без нужного поля и пушь его в роутер
Nikita
и что значит
this.$router.push({ push: 'vacancies', query: this.$route.query});
push: 'vacancies'?
Andy
ну после delete в консоли query поменялось на нужное
Nikita
обьект ? Да
Nikita
но как роутеру узнать, что ты ему там в обьекте поле удалил?
Nikita
желательно в роутер пушить всегда новый обьект, а не модифицировать старый
Nikita
и я после недавной твоей новости не совсем понимаю как у тебя роутер работает, у тебя же типо не спа, а просто vue как виджеты, нет?
Andy
ну как-то работает) кривовато + мои кривые руки)
Nikita
ну предположительно пути должны меняться нормально, хотя ты уже пол вечера за какую-ту херню спрашиваешь
Nikita
так, что за строчка то?
push: 'vacancies',
Andy
уже поменял на path...
Nikita
ты используешь роутер чтоб работать с ним с queryString?
Nikita
короче, лан это отход от темы
Nikita
попробуй для начала отдать роутеру новый обьект
Nikita
а не мутировать текущий
Nikita
а если два виджета таких будет на странице?)