Anonymous
не спорю, человек явно наркоман
Anonymous
но что уж поделать, раз проблема у него только в $()
Anonymous
объяснять ему концепцию реактивного программирования шоли
Alessandro
а для чего мы тут все собрались?)
Astr0junk
@Tweeker88 карочи. дописываешь к элменту который тыкать будешь - @click="setActive"
Astr0junk
в методы добавляешь setActive: function(e) { $(e.currentTarget).addClass('active); }
Astr0junk
раз надо жоквери
Anton
Edward
Господа, такой вопрос
Edward
у абстрактного item есть статус готово/в работе/ожидает
Edward
к нему статусы лучше задавать в виде чисел или словесной форме?
Евгений
В виде связей статусов)
Edward
аля status: "done"
Alex
если используется только для отображения то как хочешь
Евгений
А блин, не тот чат
Евгений
В vue не знаю
Edward
а, да, Вы правы
Edward
не тот чат, но все же, на практике лучше числа и в документации описать листинг статусов?
Dmitriy
Самый идеальный вариант - биты, тогда проще будет развивать систему и использовать побитовые операторы
Dmitriy
Знаете, типа как в php, например, error_reporting(E_ALL & ~E_NOTICE) - все ошибки кроме нотисов
Edward
а, это вроде констант?
Dmitriy
ну константы / не константы - это решатьуже вам
Dmitriy
https://learn.javascript.ru/bitwise-operators
Oleg
Зачем переусложнять? Список доступных статусов в хэше, ключ - токен, значение - отображаемый статус. { created: 'Created' ... }. Если используются более чем в одном месте, вынести в модуль и завернуть в класс. Потребуются валидации - туда же.
Serge
в методы добавляешь setActive: function(e) { $(e.currentTarget).addClass('active); }
Харош такое писать. Ведь если новичок - хрен распарсишь глум
Arstanbek
к нему статусы лучше задавать в виде чисел или словесной форме?
dict = { done:{id:1, name:"готово"}, prepare:{id:2, name:"подготовка"} }
Al
Дайте ссыль на описание грамотной архитектуры и всех этих вот стейтов, применительно к чистоту Vue без фреймворков
Michael
там офиц труЪ
Rafael 🌵
vue styleguide. легко гуглится
ну там половина банальные, а половина в рекомендациях
Rafael 🌵
а вот на вопрос. в каком порядке определять methods, data и computed я так и не решил
Rafael 🌵
вообще нет, с эстетической точки зрения это муки
Илья
ну типа сначала у компонента есть data - пишешь дата потом начал его развивать, понадобился computed - пишешь computed и тд
Илья
если в сумме меньше пары сотен строк, то вроде пофиг для чтения, а если больше - то давай уже рефакторить )
Илья
позырил свои компоненты. я чаще всего props выношу в начало, а components в конец. типа props дают представления о внешнем интерфейсе, а components служебное поле, которое редко надо править
Илья
остальное как придется
Rafael 🌵
другой вопрос, в каком порядке логичнее объявлять пропсы, имя, миксины и компоненты
Rafael 🌵
слишком много вопросов и слишком мало ответов -_-
Олег
передаю роутом параметры в дном и том же компоненте но данные не обновляются по условия, куда смотреть
Al
vue styleguide. легко гуглится
Что-то мало там про стейты. Только "используете vuex"
Michael
Что-то мало там про стейты. Только "используете vuex"
всё что реактивное и никак ну никак не вяжется коммуникациями детка-родитель, т.е. труЪ глобальное ()а-ля конфиг пользователя, и пи этом нуждается в реактивности -- это во вьюекс
Michael
а вообще в доках вьюекса нет нихрена?
Michael
вроде было
Al
Ну в общем-то понятно, думал где-то подробное описание паттерна
Michael
да там на самом деле всё несложно, как и вообще во вью...
Michael
если видишь, что ну костыль получается
Michael
вот ну говно
Michael
значит, что-то делаешь не так
Michael
если симпатично и понятно -- всё правильно)
Michael
вьюекс в этом плане от парадигмы недалеко ушёл. всё весьма просто и понятно. есть акции, мутации, патчи
Michael
если их дохера, стоит разбить на отдельные файлы
Michael
вот если пробовал реакт, то там костыль от не костыля сложно отличить))
Al
Не, я пропустил эти шаги эволюции)
Al
И судя по сравнениям с вью это хорошо)
Michael
Не, я пропустил эти шаги эволюции)
в этом есть очень много отличного и один большой минус -- это интеграция вью людям, которые привыкли к реакт и не хотят терять бесыенный опыт в пользу более простого решения, отбиваясь аргументами "проще -- значит детское"
Michael
к тому же ты даже добившись вина, промучаешься с багами "React way"
Michael
когда, допустим, shouldComponentUpdate пытаются вклинить
Michael
и пр и пр
Michael
или, зафигачив jsx и рендер-функции, делают из вью практически тот же реакт
Michael
в обещем, сейчас, в эти harsh times, это еще прилично долго будет актуально(
Ramil
День добрый. В официальных доках про односторонний биндинг есть такая преписка, как Обратите внимание, что объекты и массивы в JavaScript передаются по ссылке, так что если входным параметром является объект или массив, его изменение внутри потомка повлияет на состояние родительского компонента. А если все таки надо передать объект или массив через props, но чтобы при его изменении изменялись данные только в child-компоненте, но не в родителе? Кто как обычно это реализует?
Ramil
Знаю, можно извратиться через JSON.parse+stringify, но это кажется костылем
Ramil
Vladimir
{...props} это будет склонированный объект
Vladimir
Ну или Object.assign({}, source), что то же самое, но в es5
Ramil
Отправлять событие в родитель
какое? я не хочу менять в родителе ничего
Andrey
{...props} это будет склонированный объект
Вот этот парень все точно сказал
Andrey
Но при этом заметам что если будет в объекте вложенность, типа объект (или массив) как свойство другого объекта, то его тоже придётся склонировать
Andrey
Типа { ...obj, prop : { ...obj.prop }}
Ramil
Vue.component('child', { props: ['message'], template: `<div> <br> <span>{{ message.text }}</span> <br> <button @click="chng">Change!</button> </div>`, methods: { chng() { this.message.text = 'new'; } } }) new Vue({ el: '#app', data: { parentMsg: {text:'original'} } })
Ramil
{...props} это будет склонированный объект
накатал такой пример, где нужно заюзать?
Ramil
https://jsbin.com/wogonidiyi/edit?html,js,console,output ссыль, кому интересно