zinge 🐌
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
Al
Дайте ссыль на описание грамотной архитектуры и всех этих вот стейтов, применительно к чистоту Vue без фреймворков
Michael
Michael
там офиц труЪ
Rafael 🌵
а вот на вопрос. в каком порядке определять methods, data и computed я так и не решил
ℝei
Rafael 🌵
вообще нет, с эстетической точки зрения это муки
Илья
Rafael 🌵
Илья
ну типа сначала у компонента есть data - пишешь дата
потом начал его развивать, понадобился computed - пишешь computed
и тд
Rafael 🌵
Илья
если в сумме меньше пары сотен строк, то вроде пофиг для чтения, а если больше - то давай уже рефакторить )
Илья
позырил свои компоненты. я чаще всего props выношу в начало, а components в конец. типа props дают представления о внешнем интерфейсе, а components служебное поле, которое редко надо править
Илья
остальное как придется
Rafael 🌵
другой вопрос, в каком порядке логичнее объявлять пропсы, имя, миксины и компоненты
Rafael 🌵
слишком много вопросов и слишком мало ответов -_-
Michael
Олег
передаю роутом параметры в дном и том же компоненте но данные не обновляются по условия, куда смотреть
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, но это кажется костылем
Anonymous
Ramil
Vladimir
{...props} это будет склонированный объект
Vladimir
Ну или Object.assign({}, source), что то же самое, но в es5
Stanislav
Andrey
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
Ramil
https://jsbin.com/wogonidiyi/edit?html,js,console,output
ссыль, кому интересно