@vuejs_ru

Страница 1470 из 3900
Alex
16.10.2017
06:11:16
@Fl0pZz так ему его не выкусить / долго выкусывать из проекта походу
конечно, всё накручено, наверчено, от локального бэка приходят данные, даже не представляю как выложить код можно(

Смысл в чём. Приходит из бэка корзина с товарами, мне надо в этом объекте (или не надо? или не в этом объекте, а создать другой?) добавить свойства showOptions и isCommited чтобы в зависимости от их значений отображать форму ввода опций. Вот как бы вы сделали?

Причём корзина состоит из нескольких корзин (partners), поэтому там цикл по объекту.

Michel
16.10.2017
06:16:12
я бы написал как-то так state.partnerCarts = payload.map(item => ({ ...item, isComitted: null, showOptions: null }))

Google
Alex
16.10.2017
06:20:39
я бы написал как-то так state.partnerCarts = payload.map(item => ({ ...item, isComitted: null, showOptions: null }))
Идея. Спасибо. Там в бэке при каждом изменении отправляется корзина (ну то есть поменял количество товара на фронте, аякс шлёт запрос на увеличение, бэк увеличивает и возвращает изменённую корзину). Получается эти опции не будут сохранены. Значит надо делать экшн как ты написал только на первичное создание и следить, чтобы этот экшн не вызывать на изменения? Для изменений отдельный похожий экшн, не трогающий эти созданные опции?

Michel
16.10.2017
06:28:25
@leshgan тогда тебе надо мержить пришедшее с бека с уже имеющимся стейтом. Как это делать - вопрос глубокий, философский, тебе самому надо принять решение.

Rafael
16.10.2017
06:32:22
все доки не актуальны
https://github.com/Fl0pZz/Apipie/blob/old_v0.14/docs/ru_Ru/docs.md

dot
16.10.2017
07:32:38
Скажите а как во vie js получить элемент на котором кликнули ? в js это делается $(document).click(function(event) { var text = $(event.target).text(); }); а тут как ?

kuanysh anuarkhanov
16.10.2017
07:34:31
в js?

dot
16.10.2017
07:35:04
во vue.js

Андрей
16.10.2017
07:35:49
@click=“”

kuanysh anuarkhanov
16.10.2017
07:36:01
введи в оф доке $event

выйдет api

все подробно описано, попробуй

dot
16.10.2017
07:42:35
вот тут написал в тэмплэйте <button class="ui button" style="width: 400px" @click="editRow(function(event))"><i class="fa fa-edit"></i> Edit</button>&nbsp;&nbsp; дальше сама функция <button class="ui button" style="width: 400px" @click="editRow(function(event))"><i class="fa fa-edit"></i> Edit</button>&nbsp;&nbsp; вроде все правильно

Евгений
16.10.2017
07:49:17
flow ещё на webpack-овский проект не научили без боли ставить?

Google
Тимур
16.10.2017
07:59:57
Ребят привет. Перебираю уже час vue обертки с гитхаба к tinymce, все глючное. У кого нибудь есть чтото на примете рабочее?

Kirill
16.10.2017
08:00:55
Хз, у меня все работает

Но конкретное название не помню

Дома посмотрю

Жалгас
16.10.2017
08:04:26
Всем привет, такая проблема, роутер сохраняет позицию скролла, не перематывает наверх при переходе на другие страницы, с чего бы могло быть? let router = new Router({ mode: 'history', // ... scrollBehavior (to, from, savedPosition) { return { x: 0, y: 0 } } })

Alex
16.10.2017
08:31:52
Ребят, вот как можно на пустом месте потерять реактивность? Компонента в компоненте. Объявляю: data () { return { showOptions: false } }, methods: { register () { this.showOptions = true } } Кнопка: <a @click.prevent="register" href="#">Оформить</a> wtf?

DimenSi
16.10.2017
08:32:32
в песочнице пример сделай

https://codesandbox.io/s/vue

Alex
16.10.2017
08:34:44
тут все нормально с реактивностью
это всё продолжение утреннего вопроса. ТОгда я думал, что не так объекту добавляю свойства. Но по вашим рекомендациям не помогло. Тогда я решил напрямую в компоненте сделать опцию и вот снова. Получается что-то не так с самой компонентой

DimenSi
16.10.2017
08:35:18
ты пример в песочнице сделай то

Alex
16.10.2017
08:38:06
ты пример в песочнице сделай то
у меня компоненты в компонентах, понамешано. Если я такой пример как выше создам в песочнице, он 100% будет реактивный. Вряд ли я смогу воспроизвести такое же. Тут вопрос в том, сталкивался ли кто-нибудь с потерей реактивности даже вот в таких случаях

DimenSi
16.10.2017
08:55:50
у момента ктоь-нить знает библу которая сможет duration преобразовывать в читаемое "3 дня, 4 часа, 10 минут" ?

Dmitry
16.10.2017
09:02:59
http://jsfiddle.net/fhdd8/814/ Попробуй по аналогии сделать

Хотя, наверное не в тему совет))

Alex
16.10.2017
09:03:37
Что за странность с реактивностью? Девтулз показывают, что переменная не меняется, но стоит только добавить использование переменной в шаблоне, например <pre>{{showOptions}}<pre> как сразу она становится реактивной

Dmitry
16.10.2017
09:04:21
У меня такая же ерунда с реактивностью была))

Dmitry
16.10.2017
09:05:08
Спустя время решил что это мои кривые руки по первости виной были))

DimenSi
16.10.2017
09:05:24
спасибо, сейчас, только что наткнулся

Google
Kelin
16.10.2017
09:05:24
Moment-precise-range вот

Все через это прошли ?

Ничего, скоро прокси придёт и не будет проблем

Rafael
16.10.2017
09:06:44
Ничего, скоро прокси придёт и не будет проблем
И мы будем учиться, как обходить реактивность

Собственно это то, чем я сейчас занимаюсь

DimenSi
16.10.2017
09:06:54
хе-хе

Rafael
16.10.2017
09:07:17
$options брат
Это не то, что мне нужно

Kelin
16.10.2017
09:07:20
А что

Rafael
16.10.2017
09:07:29
Данные приходят с сервера и я хочу сохранять их внутри компоненты

Но мне не нужна реактивность

Kelin
16.10.2017
09:07:35
Ню

$options брат

А, изначально данных же нет $options + $forceUpdate, я думаю, можно

DimenSi
16.10.2017
09:09:43
типо закинуть в объект данные, но обращаться через $options?

и реактивности не будет?

Stanislav
16.10.2017
09:10:26
у компьютеда

Google
Rafael
16.10.2017
09:11:34
set(val) { this._myData = val }
_myData это в дате же будет? А значит будет реактвность

Я пока видел 2 идеи: 1) функция фабрика данных 2) Object.freeze

Stanislav
16.10.2017
09:12:02
Не будет там реактивности

Rafael
16.10.2017
09:13:08
Pavel
16.10.2017
09:13:19
Пацыки, вссем привки. Трансформиоровал кто-нб фонт-сайз из пикселей в vw?

Stanislav
16.10.2017
09:13:24
всмысле в $options?
Причем тут options?

Просто в this компонента создается поле

Admin
ERROR: S client not available

Rafael
16.10.2017
09:13:40
Причем тут options?
тогда я тебя не понимаю, можешь накидать пример компоненты?

Stanislav
16.10.2017
09:13:55
export default {}

блин

Rafael
16.10.2017
09:14:14
потому что добавлять поля - это плохо

не, на самом деле вы мне подкинули одну идею, как это можно сделать

через миксин + $options + beforeCreate

Stanislav
16.10.2017
09:16:38
export default { computed: { paymentsData: { get() { return (!this.loading.payments) ? this._paymentsData : []; }, set(val) { this._paymentsData = val; }, }, } }

Rafael
16.10.2017
09:17:14
export default { computed: { paymentsData: { get() { return (!this.loading.payments) ? this._paymentsData : []; }, set(val) { this._paymentsData = val; }, }, } }
ты сразу варн отхватишь, за то что в рантайме что-то добавлятешь в this

Stanislav
16.10.2017
09:17:29
С чего бы?

И как это vue отследит?

Google
Rafael
16.10.2017
09:18:17
давай посмотрим это в исходниках

Stanislav
16.10.2017
09:18:23
Это eslint может ругаться. У меня в airbnb ругается на подчеркивание, мол, не надо называть так поля

Rafael
16.10.2017
09:24:39
Что там смотреть?
https://github.com/vuejs/vue/blob/4459b87de902cf3ba496a104304ca80d1c9824c1/src/core/observer/index.js#L206

вот в beforeCreate ты еще можешь что-то подмешать в компоненту

Stanislav
16.10.2017
09:25:50
"Избегайте добавления реактивных пропертей"

Rafael
16.10.2017
09:25:50
например vuelidate так делает

DimenSi
16.10.2017
09:26:10
@kelin2025 я не могу завести этот плагин, как ты его импортировал?

Rafael
16.10.2017
09:26:58
https://github.com/monterail/vuelidate/blob/master/src/index.js#L448

Stanislav
16.10.2017
09:27:31
Kelin
16.10.2017
09:27:36
@kelin2025 я не могу завести этот плагин, как ты его импортировал?
Просто импорт момента и импорт этого плагина

Вроде

DimenSi
16.10.2017
09:29:38
что-то не выходит вообще

и так import 'moment'; import 'moment-precise-range-plugin'; и так import moment from 'moment'; import 'moment-precise-range-plugin';

moment.preciseDiff is not a function

Stanislav
16.10.2017
09:32:21
ок, есть где это проверить?
https://jsfiddle.net/c01nd01r/q4wqLLan/

Это, конечно, хак, но у нас во Vue нет "не реактивных" полей для установки туда значений.

Rafael
16.10.2017
09:35:13
и действително это работает, хмм

Страница 1470 из 3900