
Вишневый чай
05.05.2017
09:36:18
еще и elm

Максим
05.05.2017
09:36:39
@c01nd01r изменения в контейнер попадают, но файлы не подгружаются и не происходит обновления страницы

Вишневый чай
05.05.2017
09:37:23

Alex
05.05.2017
09:38:00
Пришел к тому, что код без явных типов писать неуютно, поэтому пробовал Elm - показалось интересным

Google

Stanislav
05.05.2017
09:38:17


Yaroslav
05.05.2017
09:48:25
Не совсем vue но думаю будет полезно. Массив объектов переганяем прямо в объект. Полезно когда адова туча обращений к разным элементам и тяжела судьба перебора на больших массивах.
const peopleArray = [
{ id: 123, name: "dave", age: 23 },
{ id: 456, name: "chris", age: 23 },
{ id: 789, name: "bob", age: 23 },
{ id: 101, name: "tom", age: 23 },
{ id: 102, name: "tim", age: 23 }
]
Как бы можно так:
const arrayToObject = (array) =>
array.reduce((obj, item) => {
obj[item.id] = item
return obj
}, {})
Или универасльно:
const arrayToObject = (arr, keyField) =>
Object.assign({}, ...arr.map(item => ({[item[keyField]]: item})))
В нашем случае применяем так:
const peopleObject = arrayToObject(peopleArray, 'id')
Теперь по конкретному id можно сразу вытаскивать объект без переборов
НЕ мое. Взято с медиума https://medium.com/dailyjs/rewriting-javascript-converting-an-array-of-objects-to-an-object-ec579cafbfc7


Alex
05.05.2017
09:49:41
Код можно выделить в gist символами "`"
some code here

Алихан
05.05.2017
09:51:55
Очень часто в проектах использую lodash
Там есть альтернатива: _.keyBy(array, 'id')
И вообще огромная куча всяких полезных штук
Любителям функциональщины должно вообще люто понравится

Yaroslav
05.05.2017
09:53:48
Про лодаш это понятно. Хорошая штука спору нет. Но импорты, три шейкинг, размер с бандлом и прочие бубны. А тут две строчки кода.

Alex
05.05.2017
09:54:16
Yaroslav то что вы написали, является примером свертки (операция fold)

Максим
05.05.2017
09:55:21
watchOptions: {
poll: true
}
в webpack-dev-middleware решило проблему

Алихан
05.05.2017
09:56:48
Я обычно с флагом запускаю. Потому что poll априори работает хуже. И если в команде не все пользуются докером им это не нужно
webpack --watch --watch-poll

Google

Максим
05.05.2017
09:59:16
Я запускаю через npm run dev
там эти опции передаются?

Алихан
05.05.2017
09:59:34
npm run —watch-poll

Максим
05.05.2017
10:00:16
попробую

Алихан
05.05.2017
10:00:38
Ну или node_modules/.bin/webpack --watch --watch-poll
Вру, с npm флаг работать не будет

Максим
05.05.2017
10:03:23

Алихан
05.05.2017
10:08:21
Агамс

Максим
05.05.2017
10:30:52
так не удается завести. проект инициализирован с помощью vue init.

Diasko
05.05.2017
10:59:38
на revel пишит кто нибудь?

Mikhail
05.05.2017
11:48:14
Ребят, а можно ли как-нибудь в компонет передать функцию, чтобы в шаблоне можно было написать v-on:click=myFunction?
как в компонент динамически передать обработчик - так наверно правильнее звучит :)
или нет )

Dmitry
05.05.2017
11:50:23
может кто знает, при сборке вебпаков в production версию, вылетает TypeError: Cannot set property 'exports' of undefined.
А на dev все норм.

Виталий
05.05.2017
11:59:54
@mikhailmain попробуй передать функцию пропсом
'tapEvent': { type: Function}

Mikhail
05.05.2017
12:00:19

Виталий
05.05.2017
12:00:32
и внутри компонента вызывай функцию

Mikhail
05.05.2017
12:00:53

Виталий
05.05.2017
12:01:14
в пропсах добавляешь еще один

Google

Виталий
05.05.2017
12:01:30
и пробрасываешь функцию
или еще один варик

Mikhail
05.05.2017
12:01:35
я в пропсах делал также как с оыбчными переменными
сейчас попробую

Виталий
05.05.2017
12:01:50
передаешь пропс модель

Дмитрий
05.05.2017
12:02:12
сейчас попробую
Можешь на клик эмитить эвент а в родительском компоненте ловить евент и вызывать нужную функцию

Виталий
05.05.2017
12:02:30
и по ивенту делаешь следующее vm.$parent.$emit(vm.model);
@Tynopet именно так, да

Mikhail
05.05.2017
12:03:00
спасибо, сейчас попробую

Дмитрий
05.05.2017
12:04:38
<parent>
<child @event="myFunc" />
</parent>
myFunc(e, payload) { ... }
<child>
<button @click="$emit('click', payload)" />
</child>
Вроде так, если не ошибся

Mikhail
05.05.2017
12:09:01
я до событий пока не дошел, пытаюсь сделать первым способом

Mikhail
05.05.2017
12:09:23
в пропс у меня так должно быть?
props:{ 'showRegister':{type:Function} },
ой

Виталий
05.05.2017
12:09:30
да
без запятой
внутри пропсов
если юзаешь линтер
оно выдаст ошибку
unexpected comma

Google

Mikhail
05.05.2017
12:10:23
Я поправил, так?
в пропс у меня так должно быть?
props:{ 'showRegister':{type:Function} },
Подскажите где про это почитать, а то сижу на ощупь разбираюсь

Alex
05.05.2017
12:16:52
пример для HOC кажись выпиливают, потому что уже не работает :( https://github.com/vuejs/vuejs.org/pull/899

Ilya
05.05.2017
12:17:22

Alex
05.05.2017
12:18:15

Ilya
05.05.2017
12:18:31
лол

Mikhail
05.05.2017
12:18:59
Ага, спасибо, я читаю, но не всегда могу сопоставить терминологию vue со своей задачей :)
с десятого тыка разобрался

Admin
ERROR: S client not available

Mikhail
05.05.2017
12:32:03
<component v-bind:is="currentView" :show-register="showRegister" ></component>
props:{
showRegister:{
type:Function,
},
},
methods: {
showRegister: function () {
this.currentView = 'reg';
},

Alex
05.05.2017
12:34:18
:is просто тоже можно :)

Mikhail
05.05.2017
12:36:01

Lulz
05.05.2017
12:36:20

Alex
05.05.2017
12:36:23
это сокращение для v-bind

Boris
05.05.2017
12:36:30
@ и : сокращения для v-on и v-bind

Mikhail
05.05.2017
12:37:09
а, ясно, где-то видел, но пока не понял в чем разница решил использовать как в мануале, ну спасибо просветили :)

Boris
05.05.2017
12:37:41
читаемость, длинна текста в описании атрибутов, и прост круто.

Google

Mikhail
05.05.2017
12:38:28
?

Stanislav
05.05.2017
12:46:41

Alex
05.05.2017
12:47:16
@&^&^%!#& :(
сломали ту фишку даже раньше, чувак пытался отстоять, но его не услышали

Stanislav
05.05.2017
12:47:16
Да надо потыкать, может работает
в 2.2.6 у меня еще работает

Alex
05.05.2017
12:48:17
в 2.3 вроде перестанет

Yaroslav
05.05.2017
13:04:19
Что есть НОС?

Alex
05.05.2017
13:06:01

Illya
05.05.2017
13:07:12
Странно
Зачем они так

Alex
05.05.2017
13:07:38
Оно наверное работало из-за их недоработок похоже)))
теперь исправили

Stanislav
05.05.2017
13:08:15
Тогда бы они врядли стали вносить это в документацию

Alex
05.05.2017
13:11:16
https://github.com/vuejs/vue/issues/5606
ну вот тогда внесли))) теперь This is expected behavior
Парень решил что раз так, надо строчку из доков убирать

Stanislav
05.05.2017
13:18:13
element-ui седня выкатил релиз 1.3.0. Теперь есть поддержка 2.3.+

Ivan
05.05.2017
13:27:13
Привет. Хочу после загрузки компонента прокрутить один из элементов вниз.
Вот код:
mounted () {
this.$nextTick(() => {
this.$refs.months.scrollTop = 500
})
}
Если ручками ставить элементу scrollTop из девтулзов, всё работает, а так нифига не работает. ЧЯДНТ?

Дмитрий
05.05.2017
13:30:33
?

Ivan
05.05.2017
13:32:54
Всё, вопрос снят. Сам себя замотал - менял параметр одного элемента, смотрел на соседний >_< Надо больше отдыхать
Даже nextTIck не нужен