
Illya
24.06.2017
09:28:38

Dilan
24.06.2017
09:31:37
Возможно ли обработка событий на элементе, который передан потомку как слот, в самом потомке?
<defaultItem :item="item">
<div slot="type">
<button @click="click">movies</button>
</div>
</defaultItem>

Владимир???
24.06.2017
09:33:26
а я правильно понимаю, что тут компоненты на путь + глобальные?
в чем различие?
или подразумевается, что на путь это какие-то более крупные куски, которые собираются из глобальных компонентов?

Rafael
24.06.2017
09:34:23

Google

Владимир???
24.06.2017
09:34:40
окей, спасибо

Rafael
24.06.2017
09:34:48
ну т.е например компонента уведовления сокрее всего будет использоваться везде - глобальная, а формочка авторизации - путевая

Maksim
24.06.2017
09:37:50
Некоторые компоненты получились довольно большими, используются только один раз на определенных страницах, хочу сделать асинхронную загрузку. Код разделился, но пытается загружать не с /js/0.js, а /current-page/js/0.js, как можно исправить?

Stanislav
24.06.2017
09:39:52
/current-page/ это текущая ссылка?

Maksim
24.06.2017
09:41:00
Да.
Разобрался, надо было в настройках webpack:
output: {
publicPath: "/"
},

Stanislav
24.06.2017
11:34:13
Сижу на митапе, слушаю про Ангуляр 2.
Забавно, как какие-то фичи преподносят как awesome, когда во вью/реакте они тоже есть))

Illya
24.06.2017
11:35:37
нашли куда ходить :)

Stanislav
24.06.2017
11:39:21
Ну так уж попалось :)

Kelin
24.06.2017
12:22:33
умеешь ты выбирать
ребята
поясните плиз, что можно тестировать в компонентах
я вот вообще не представляю
разве что запросы с апи проверять

Google

Rafael
24.06.2017
12:31:04
или что у тебя показываются уведомления при нажатии на кнопочку

Kelin
24.06.2017
12:33:40
хм, я пока начну для апишки делать, может, в процессе осознаю, что еще можно покрыть

Rafael
24.06.2017
12:34:06

Kelin
24.06.2017
12:34:42
вовремя я, конечно, решил эти заняться, когда проект уже разросся
)0)

Rafael
24.06.2017
12:35:09

Kelin
24.06.2017
12:35:20
да вообще пофиг, все равно делать нечего)
а что для тестов посоветуешь
там дохрена вариантов
в доке в примере Jasmine юзают

Rafael
24.06.2017
12:37:11
хранилище точно можно с помщью jest тестить, а вот про компоненты как раз интересно посмотреть

Alexpts
24.06.2017
12:54:56
А можно ли в компоненте получить доступ к переданному внутрь содержимому?
<component>поддерево DOM или текст</component>

Stanislav
24.06.2017
12:55:15

Alexpts
24.06.2017
12:56:18
перечитаю про них, спасибо

F01134H
24.06.2017
13:03:58

Alexpts
24.06.2017
13:15:38

Valery
24.06.2017
13:19:21
меня осенило озарение
vuex.
у модуля обязателен state. остальных трех - getters, mutations, actions - может и не быть у модуля.
верно?

Dima
24.06.2017
13:23:04
лол, забавная подача материала :) https://youtu.be/PG0YuLY2Qic

Google

Dima
24.06.2017
13:25:49

Illya
24.06.2017
13:25:52
без мутаций

Valery
24.06.2017
13:26:55

Kelin
24.06.2017
13:29:54

Valery
24.06.2017
13:30:28

Kelin
24.06.2017
13:30:39
та да

Rafael
24.06.2017
13:30:51
та да
Чет ты сегодня спишь

Kelin
24.06.2017
13:31:03

Rafael
24.06.2017
13:31:10

Kelin
24.06.2017
13:31:18
нормально

Rafael
24.06.2017
13:31:19
Сон - святое дело

Dilan
24.06.2017
13:39:51
Пожскажите хороший плагин для Vue, чтобы список пожно было виделять (просто клик, ctrl+клик, shift+клик)

Kelin
24.06.2017
13:55:47
@Fl0pZz специально для тебя

Rafael
24.06.2017
13:56:28
А, сук, я понял

Kelin
24.06.2017
13:56:40
написал же)0)

Rafael
24.06.2017
13:56:54

Dilan
24.06.2017
13:57:01
@kelin2025 Ну вот тоже к этому склоняюсь

Google

Kelin
24.06.2017
13:57:19
так там писать то нечего, по сути на элемент клик повесить и push/splice

Nikita
24.06.2017
14:02:29
что за игра?

Андрей
24.06.2017
14:07:07
cs go наверное

Admin
ERROR: S client not available

Леха
24.06.2017
14:32:45
Всем привет. Кто может помочь с Vuex модулями? Пытаюсь разделить на модули хранилище, но не могу понять как из дочерних компонентов получать store родительского.

Dilan
24.06.2017
14:53:34
Получил список объектов с сервера, и каждую секунду их перезапрашиваю и обновляю (this.items = response.items), каждый раз vue думает что данные изменились, как это победить?
result.items.forEach(item => {
if (!this.items[item.id] || JSON.stringify(this.items[item.id]) !== JSON.stringify(item)) {
this.$set(this.items, item.id, item)
}
});
работает в принципе, но думаю что это как то неправильно

Stanislav
24.06.2017
14:56:54

Dilan
24.06.2017
15:22:17
Ребята, подскажите плиз, направьте в правильное русло, нигде не могу найти примера(
вот как компонент выглядит
https://pastebin.com/c2hSjeX8
Может есть что то наподобие коллекции как в backbone.js

stepan
24.06.2017
15:40:41

Dilan
24.06.2017
15:43:44
В данном примере все работает как раз таки правильно, меня смущает что я сам при каждом ответе от сервера пробегаюсь по полученным элементам и смотрю если они уже у меня и если есть не похожи ли они, и только в противном случае добавляю. Коллекции в backbone.js самы этим занимались.
Что то мне подсказывает что должно быть более красивое решение, чем у меня..

Illya
24.06.2017
16:01:00
Не дрлдном
Должно
Vue это слой отображения

Dilan
24.06.2017
16:03:04
Ну т.е мое решение вполне имеет право на жизнь?

Google

Illya
24.06.2017
16:04:07
Ну мне не нравится, но это дело десятое
Сравнивать объекты строками это мрак мрак

Dilan
24.06.2017
16:05:37
Ну а целом я понял, спасибо большое.

Rafael
24.06.2017
16:09:45

Cyber
24.06.2017
16:09:58
сорри, не туда

Rafael
24.06.2017
16:10:16

Illya
24.06.2017
16:10:39
Обойти поля и сравнить
Для эстетов: взять immutablejs
Он не будет изменять объект если данные идентичны

Rafael
24.06.2017
16:12:02
И ещё про normalizr, используешь его вместе с vuex?

Illya
24.06.2017
16:14:08
Иммутабл редко
Normalizr часто

Alex
24.06.2017
16:28:14
парни хелп плиз, как в vsc настроить что бы "" -> '', а то у меня наоборот, из аддонов тольок приттер


Леха
24.06.2017
16:38:19
Написал плагин для мутаций Vuex:
// vuex/user/plugins.js
import Vue from 'vue';
import VueLocalStorage from 'vue-localstorage';
import constants from '@js/config/constants';
Vue.use(VueLocalStorage);
const localStoragePlugin = (store) => {
console.log('localStoragePlugin:', mutation);
store.subscribe((mutation, payload) => {
if (mutation.type.match(/session$/i)) {
Vue.localStorage.set(constants.SESSION_STORAGE_KEY, payload.session);
}
});
};
export default {
localStoragePlugin
};
Вот так экспортирую модуль:
// vuex/user/index.js
import Vue from 'vue';
import Vuex from 'vuex';
import state from '@js/vuex/user/state';
import getters from '@js/vuex/user/getters';
import mutations from '@js/vuex/user/mutations';
import actions from '@js/vuex/user/actions';
import { localStoragePlugin } from '@js/vuex/user/plugins';
Vue.use(Vuex);
const user = {
state,
getters,
mutations,
actions,
plugins: [
localStoragePlugin
],
namespaced: false,
};
export default user;
И главный файл, где подключаются модули Vuex:
// vuex/index.js
import Vue from 'vue';
import Vuex from 'vuex';
import user from '@js/vuex/user';
Vue.use(Vuex);
export default new Vuex.Store({
strict: true,
namespaced: true,
modules: {
user,
}
});
Плагин не срабатывает. Ошибок нет, просто не работает. Что может быть?