Pavel
с подборкой градиентов, там и в сетку и в квадратик
Pavel
а щас неайти не могу (
Anonymous
от адоба?
Pavel
а все, нашел
Pavel
не, от Лии Веру
Ali
Привет всем, у меня есть страница блога с контентом, внутри контента у меня есть компоненты (к примеру audio, video, gallery). Данные я получаю через rest, т. е. Все компоненты у меня в строке '<h1>Hello World</h1> <Video src=”...” />'. как мне отрендерить эти компоненты на странице ?
Anonymous
Anonymous
хз сильно важно или нет, я ток так делал пока
Anonymous
https://youtu.be/Fa4cRMaTDUI
вот серия видосов. там изи понимается. или доки (но я по видосам легче понимаю)
Anonymous
https://github.com/i0natan/nodebestpractices
Илья
Илья
похоже?
Илья
хм, чет сломалсо))
Илья
обновил
Vyacheslav
Друзья, подскажите пожалуйста
Vyacheslav
есть компонент, элемент списка товаров
Vyacheslav
el: '#active_lots',
data: {},
computed: {
lots () {
return lots.map( (l) => {
l.photo = "storage/products/" + l.product.photo_medium;
l.amount_integer = parseInt(l.current_amount);
let tmp = Math.round( (l.current_amount % 1) * 10 ) / 10;
l.amount_decimal = tmp.toString().substr(2);
l.auc_time = getRandomInt(5,21);
l.auc_progress = getProgress(l.auc_time);
return l
});
},
},
Vyacheslav
как в список вносить изменения?
Ali
Vyacheslav
ну скажем по setinterval сделать изменение цены
Илья
=)
Илья
https://vuejs.org/v2/guide/installation.html#Explanation-of-Different-Builds
Vyacheslav
непонятно как к массиву применять геттеры / сеттеры
Anonymous
arr.push(item) ?
Vyacheslav
ну мне не добавить элемент надо, а изменить одно из свойств
Anonymous
выберите по ключу и измените, не особо понятно что хотите сделать
Anonymous
вижу код выше
Anonymous
сек
Vyacheslav
не понятно что менять ) изначальный массив который мапается в computed?
first
Ребзя может кто подсказать,почему не выводится текст :С
Заранее благодарю.
https://jsfiddle.net/Lar519qm/1/
Anonymous
ну просто выберите нужный lots через индексы и измените свойство у него, разве не так?)
Vyacheslav
тоже так думал
Vyacheslav
setInterval(() => {
console.log(lots[0]);
lots[0].current_amount *= 2;
},
1000);
Vyacheslav
не дает никакого результата/ компонент не обновляется
Vyacheslav
то есть компонент отрисовывается 1 раз и все больше ничего не меняется
first
Vyacheslav
в dev tools видно что переменная меняется
first
у меня Null :C
Anonymous
он пишется на том же уровне что и data
как и др хуки жизненного цикла
Anonymous
first
да,уже увидел,еще раз спасибо)
Anonymous
👍
Pavel
ребята, я на работе пишгу на втором ангуляре и на тайп скрипте, а дома на вью, и никогда не задумывался о тайпс скрипте и вью вместе )) кто-нб пишет из вас на тс+вью?
Pavel
вопрос заключается в том как они хорошо стакаются и не вызывает ли у вас это много бугуртов
Андрей
Vladimir
вроде без него бугурта больше)
Pavel
просто я слышал что в версии 2 не оч все зорошо было, а вот в 2.5 все окай
Андрей
Vyacheslav
https://jsfiddle.net/34sLgzjo/
Vyacheslav
Сделал в фидле набросок
Vyacheslav
получается что массив по которому прошелся computed не обновляется
Vyacheslav
а если массив сразу в дату писать то все норм
Vyacheslav
var lots = [{'id': 1, 'amount': 55}, {'id': 2, 'amount': 77}];
setInterval(() => {
lots[0].amount += 1;
},
1000);
new Vue({
el: '#app',
data: {
//lots: lots
},
computed: {
lots () {
return lots.map( (l) => {
return l
});
},
},
})
Alex
Андрей
Ан нет. Есть. Это я невнимательный.
Alex
Alex
Vyacheslav
ну я в computed дополняю массив до нужного вида, модифицирую данные. Так что в моем случае он заменяет data
Vyacheslav
в этом примере он просто мапается без изменений
Alex
Alex
И вот это ещё прочитайте https://ru.vuejs.org/v2/guide/list.html#Предостережения
Vyacheslav
а как тогда реализовать задачу?
Vyacheslav
скажем мне надо выводить не чистые данные списка из массива
Vyacheslav
а модифицированые
Alex
Вот сделать computed которая при любых изменениях массива будет пересчитываться и возвращать новое значение
Alex
А если надо чтобы хранимые данные обновились и лежали модифицированные — метод делать и где-то его вызывать
Vyacheslav
с методом не работает
Vyacheslav
var lots = [{'id': 1, 'amount': 55}, {'id': 2, 'amount': 77}];
setInterval(() => {
//lots[0].amount += 1;
auc.add();
},
1000);
var auc = new Vue({
el: '#app',
data: {
//lots: lots
},
computed: {
lots () {
return lots.map( (l) => {
return l
});
},
},
methods: {
add: function () {
this.lots[0].amount = 1024;
console.log('add');
}
}
})
Alex
Вы уверены что интервал пройдёт уже после инициализации вью? Разместите его в хуке жизненного цикла
Alex
И в data должно быть свойство. Которое при инициализации станет реактивным
Alex
И данные в data мы и меняем, а не какие-то хранящиеся в стороне
Vyacheslav
тогда не понятно как скрестить data и computed массив то и там и там один
Alex
В data лежит свойство lots. В computed к нему можно обратиться через this.lots