@vuejs_ru
Vue.js — русскоговорящее сообщество

Общаемся на темы, посвященные Vue.js и опыту его использования. Проблемы. Новости. Решения. См. также: @js_ru, @react_js, @angular_ru, @nuxtjs_ru Вакансии только тут: @javascript_jobs

3988 members

Архив канала @vuejs_ru 11 февраля 2017 г.

12:25:19 ДП
User 62044469
User 104782109
https://ru.vuejs.org/v2/guide/instance.html#Диаграмма-жизненного-цикла думаю для этого больше подойдет mounted
ru.vuejs.org/v2/guide/instance.html
Vue.js — Прогрессивный JavaScript-фреймворк
спасибо
01:12:46 ДП
User 139068333
не каже
02:20:53 ДП
User 87766051
HTML генерируется динамически. На <a href> кликнули и попали в метод onclick. Неужели внутри метода onclick нельзя получить значение аттрибута из HTML, если он не привязан к данным? Например <a href rel="asd">. Как получить внутри метода значение rel?
02:21:24 ДП
User 87766051
ну т.е. неужели нет ничего похожего на $(this).attr('rel') ?
02:59:28 ДП
User 212842542
event.target.attributes
03:00:58 ДП
User 212842542
event.target.attributes.href тоже вроде можно
03:07:23 ДП
User 87766051
User 212842542
event.target.attributes.href тоже вроде можно
спасибо! Еще tagName, но ничего вменяемого в документации по этой теме не могу найти. Печально что нельзя использовать функции из jquery в связке event.target
03:13:01 ДП
User 87766051
говорят в первой версии можно было
 var clickedElement = event.target;
clickedElement).addClass('asd');
03:18:47 ДП
User 212842542
я бы для управления классами все таки использовал функционал vue для этого
03:19:26 ДП
User 87766051
Да я понимаю все... ты прав конечно.
03:58:35 ДП
User 49654553
User 87766051
HTML генерируется динамически. На <a href> кликнули и попали в метод onclick. Неужели внутри метода onclick нельзя получить значение аттрибута из HTML, если он не привязан к данным? Например <a href rel="asd">. Как получить внутри метода значение rel?
Чтобы что? КМК, лучше сразу передать аргумент. Типа @click="handler(rel)"
03:59:26 ДП
User 87766051
Ну это мы опять же передаем данные которые в модели. Они к html имеет посредственное отношение. Думаю ты не понял вопроса
04:00:25 ДП
User 87766051
Я говорю о доступе в честному DOM из метода который был вызван
04:00:30 ДП
User 49654553
А зачем данные из html?
04:00:34 ДП
04:00:41 ДП
User 87766051
да без разницы зачем )
04:00:47 ДП
User 87766051
хочу и все )
04:01:37 ДП
User 49654553
Нет, Петька, так мы с тобой самолет не построим ©
04:02:10 ДП
User 87766051
Чтобы иногда можно было вставлять костыли не городить полное взаимодействие с моделью, когда надо какую-нибудь ерунду поменять
04:02:56 ДП
User 49654553
У меня один разраб любит такое. За что я его всегда ругаю
04:03:04 ДП
User 87766051
Вот сейчас конкретно задача работать с комментариями, которые хранятся в nested sets. Че, еще эту логику на vue переносить, когда надо например всплывающую форму ответа
04:03:26 ДП
User 87766051
иногда так можно делать )
04:04:30 ДП
User 49654553
Полагаю, этого надо всячески избегать
04:05:17 ДП
User 87766051
http://joxi.ru/DmBElMQuw4vMyr
04:05:33 ДП
User 49654553
Принцип Vue, как и реакта, простой: отображение это функция от состояния
04:06:07 ДП
User 87766051
это и бесит )
04:06:49 ДП
User 49654553
Почему?
04:08:20 ДП
User 87766051
Потому что хочется гибко использовать часть логики на бэкенде, часть на фронт. Это позволило бы и не перезагружать постоянно DOM, и работало бы быстрее. А здесь все в строгих рамках.
04:09:48 ДП
User 87766051
И нет обратной зависимости данных от состояния
04:11:02 ДП
User 49654553
Полагаю, всю бизнес-логику нужно выносить на бэк. И да, Вью не перезагружает DOM постоянно, только изменившиеся элементы
04:12:40 ДП
User 136935602
User 49654553
Принцип Vue, как и реакта, простой: отображение это функция от состояния
Нет.  В этом как раз отличие vue. Во вью отображение реактивного. Играет роль не только состояние,  но и как к нему пришли
04:13:31 ДП
User 49654553
User 136935602
Нет.  В этом как раз отличие vue. Во вью отображение реактивного. Играет роль не только состояние,  но и как к нему пришли
Не совсем понял мысль
04:13:40 ДП
User 87766051
Встречалось мнение, что js-фреймворки нужны только для балансировки нагрузки, чтобы не рисовать все на сервере. И в принципе я с этим согласен. Тогда это противоречит тому что всю бизнес логику нужно выносить на бэк.
04:14:57 ДП
User 136935602
Балансировка нагрузки вообще не про это. Время отклика,  валидации, удобные пользовательские интерфейсы - фронт про это
04:15:18 ДП
User 87766051
да почему..
04:16:50 ДП
User 136935602
А бизнес логика понятие растяжимое. Вы все равно не имеете права доверять данным полученным с фронта
04:18:34 ДП
User 49654553
User 136935602
А бизнес логика понятие растяжимое. Вы все равно не имеете права доверять данным полученным с фронта
Согласен. Поэтому бэк-валидация - наше всё
04:20:14 ДП
User 49654553
Но все же я упираю на то, что view = f(state)
04:25:47 ДП
User 49654553
Если коротко, я полагаю, что если ты используешь Вью, ты не должен менять элементы DOM. Ты должен строить такой DOM, который будет адекватно реагировать на изменения состояния
07:14:00 ДП
User 152816933
https://github.com/vue-play/vue-play/
github.com/vue-play/vue-play
vue-play - 🍭 A minimalistic framework for demonstrating your Vue components
10:27:22 ДП
User 40268779
https://github.com/open-source/stories/yyx990803
github.com/open-source/stories/yyx990803
Open source software is made by people just like you. Here’s how they got started.
10:36:28 ДП
User 94523403
@xanf_ua могли бы вы подсказать по vuex-shared-mutations, а именно этой строчки в рид ми либы
plugins: [createMutationsSharer({ predicate: ['action1', 'action2'] })]
что должно быть на месте 'action1','action2' ? Названия мутаций или экшнов?
10:36:51 ДП
User 136935602
Мутаций
10:37:01 ДП
User 136935602
Спасибо за комментарий. Поправлю
10:40:20 ДП
User 136935602
User 94523403
@xanf_ua могли бы вы подсказать по vuex-shared-mutations, а именно этой строчки в рид ми либы
plugins: [createMutationsSharer({ predicate: ['action1', 'action2'] })]
что должно быть на месте 'action1','action2' ? Названия мутаций или экшнов?
Поправил
11:41:02 ДП
User 112715267
Ребят, кто-нибудь пробовал Adonis на бэкэнде?
11:41:32 ДП
User 202520
User 112715267
Ребят, кто-нибудь пробовал Adonis на бэкэнде?
Что за зверь?
11:41:42 ДП
User 112715267
MVC-фреймворк для ноды
11:42:12 ДП
User 202520
Нужно глянуть
11:42:28 ДП
User 112715267
https://github.com/Atinux/vue-adonis
Нашел такую темку, но не могу поставить adonis-cli
Все ставится, но пишет adonis: command not found
Ошибок при установке не было
Остальные глобальные модули работают, то есть трабла не в path
В гугле ничего не нашел
github.com/Atinux/vue-adonis
Boilerplate for using AdonisJS + Vue.js with server-side rendering - Atinux/vue-adonis
11:43:41 ДП
User 202520
User 112715267
Ребят, кто-нибудь пробовал Adonis на бэкэнде?
Это в чатик по nodejs спрашивать нужно))
11:44:19 ДП
User 112715267
там тишина по этому поводу, вчера спрашивал
11:47:26 ДП
User 40268779
User 112715267
там тишина по этому поводу, вчера спрашивал
Ты с -g установил?
11:47:31 ДП
11:48:07 ДП
User 112715267
npm i -g adonis-cli
11:48:14 ДП
User 40268779
Ну а так пробовал node. /node_modules/Adonis/index.js
11:48:47 ДП
User 40268779
ну типа полный адрес
11:48:58 ДП
User 40268779
Не знаю как там точно папка называется
11:53:50 ДП
User 1844260
User 112715267
https://github.com/Atinux/vue-adonis
Нашел такую темку, но не могу поставить adonis-cli
Все ставится, но пишет adonis: command not found
Ошибок при установке не было
Остальные глобальные модули работают, то есть трабла не в path
В гугле ничего не нашел
github.com/Atinux/vue-adonis
Boilerplate for using AdonisJS + Vue.js with server-side rendering - Atinux/vue-adonis
adonis-cli для cli
11:54:07 ДП
User 1844260
$ yarn add adonis-cli -D
11:54:13 ДП
User 1844260
$ ls ./node_modules/.bin/adonis 
./node_modules/.bin/adonis
11:54:17 ДП
User 1844260
все есть
11:54:51 ДП
User 112715267
node /home/kelin/node/lib/node_modules/adonis-cli/src/index.js new myapp
работает только вот так о.о
11:54:52 ДП
User 1844260
или уже разобрался, я чет медленный
12:01:13 ПП
User 112715267
странно, почему не работает adonis new myapp
12:34:47 ПП
User 62044469
Угу, я ручками делал ссылку в /var/local/bin для vue-cli которую поставил глобально, хз чего нода не сделала сама это
12:37:42 ПП
User 169564810
User 112715267
node /home/kelin/node/lib/node_modules/adonis-cli/src/index.js new myapp
работает только вот так о.о
попробуйте сделать так:
$ cd /home/kelin/node/lib/node_modules/adonis-cli/
$ npm link
12:39:14 ПП
User 169564810
только после этого новое окно консоли открыть нужно
12:40:06 ПП
User 112715267
Ничего не изменилось ~_~
12:40:07 ПП
User 169564810
а лучше вот так:
$ cd /home/kelin/node/lib/node_modules/adonis-cli/
$ chmod +x src/index.js
$ npm link
12:40:20 ПП
User 60331718
вот, неточности
12:40:29 ПП
12:40:29 ПП
12:40:30 ПП
User 60331718
@alex_sokolov вроде же ты переводишь доки?
12:41:13 ПП
User 169564810
это же отличная возможность сделать PR
12:57:55 ПП
01:09:50 ПП
User 55423102
User 60331718
@alex_sokolov вроде же ты переводишь доки?
Перевожу, по мере сил
01:13:03 ПП
User 60331718
в промисе как-то можно присвоить значение глобальной переменной?
01:30:29 ПП
User 60331718
User 60331718
в промисе как-то можно присвоить значение глобальной переменной?
есть предположение, что из-за того, что для промисов отдельная очередь исполнения, то и данные изменяются не сразу, а "когда-то"
01:45:00 ПП
User 112715267
Как заставить vue-cli работать без sudo? А то редактировать исходники тоже только через sudo можно
01:47:03 ПП
User 212842542
https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory
docs.npmjs.com/getting-started/fixing-npm-permissions
The place where all things npm are documented
02:25:43 ПП
User 60331718
User 112715267
Как заставить vue-cli работать без sudo? А то редактировать исходники тоже только через sudo можно
yarn global add vue-cli и пользуешься наздоровье
04:41:36 ПП
User 60331718
у vuex есть такая функция watch, кто-то ее использовал? ее только в компонентах используют или в модулях самого хранилища тоже?
05:15:00 ПП
User 44027978
Всем привет, няши
05:15:51 ПП
User 112715267
Привет, няш
05:22:54 ПП
User 112715267
https://matreshka.io
Mother of God
matreshka.io
Matreshka.js 2 - The easiest framework in the Universe
05:23:42 ПП
User 60331718
User 60331718
у vuex есть такая функция watch, кто-то ее использовал? ее только в компонентах используют или в модулях самого хранилища тоже?
никто не юзал чтоли?
05:36:33 ПП
User 44027978
Кто-нибудь сможет посоветовать хороший плагин для локализации приложения?
05:40:34 ПП
User 112715267
User 60331718
никто не юзал чтоли?
Я вотчер юзал только в компонентах для отслеживания изменений параметров роутера
05:41:25 ПП
User 60331718
User 112715267
Я вотчер юзал только в компонентах для отслеживания изменений параметров роутера
я про вотчер у вьюкса спрашиваю
05:41:54 ПП
User 112715267
сомневаюсь, что много юзающих вотчеры вьюкса
05:42:21 ПП
User 60331718
вот этот
06:02:15 ПП
User 60331718
в компоненте как следить за i ячейкой массива из стора?
06:07:23 ПП
User 169564810
мне почему-то кажется что так
watch: { 'list.3': fn }
06:07:40 ПП
User 169564810
ну или $watch('l.' + index, …
06:08:16 ПП
User 112715267
написано же, что функция
06:14:42 ПП
User 60331718
User 169564810
мне почему-то кажется что так
watch: { 'list.3': fn }
у меня наблюдение за i'й ячейкой, тогда watch: { 'list.i': fn }?
06:14:42 ПП
User 60331718
и еще этот индекс передается через пропсу, поэтому доступна только как this.i
06:22:12 ПП
User 169564810
this.$watch('list.' + this.i, fn)
06:22:16 ПП
User 169564810
как-то так получается
06:23:49 ПП
User 60331718
User 169564810
this.$watch('list.' + this.i, fn)
я даже не представляю, где это писать надо, можешь пример?
06:24:13 ПП
User 60331718
в computed?
06:24:32 ПП
User 60331718
а не, в created наверное
06:32:29 ПП
User 169564810
var app = new Vue({
  data: {
    index: 1,
    list: ['a', 'b', 'c']
  },
  created: function() {
    this.$watch('list', v => console.log(v));
  }
})

app.list.push('d');
06:35:02 ПП
User 60331718
User 169564810
this.$watch('list.' + this.i, fn)
да, это сработало
06:38:21 ПП
06:40:53 ПП
User 60331718
так, как такое возможно при использовании модулей и пространства имен?
[vuex] unknown mutation type: DISPLAY
у меня все типы мутаций прописани в модулях в файлах вида:
*-mutation-types.js
06:48:33 ПП
User 169564810
Нужно построить зикурат!
Нужно больше информации!
06:49:30 ПП
User 60331718
User 169564810
Нужно построить зикурат!
Нужно больше информации!
такс, у меня есть 2 выхода:
либи лить на гист, либо выкладывать на гитхаб
что выберешь?
06:49:47 ПП
User 60331718
на первый - выборочно, на второй, естественно, полностью
06:52:33 ПП
06:52:38 ПП
User 169564810
слишком много кода
06:52:59 ПП
User 169564810
могу погуглить как дебажить проблемы с неймспейсами
06:53:24 ПП
User 169564810
а так то занят сейчас немного, чтоб так надолго отвлекаться
06:57:43 ПП
User 60331718
https://gist.github.com/Fl0pZz/84e80242f649e0b80dba0457c6525942
gist.github.com/Fl0pZz/84e80242f649e0b80dba0457c6525942
06:59:06 ПП
User 60331718
а все, разобрался - забыл запроксировать нужную мне мутацию
07:47:42 ПП
User 60331718
User 169564810
var app = new Vue({
  data: {
    index: 1,
    list: ['a', 'b', 'c']
  },
  created: function() {
    this.$watch('list', v => console.log(v));
  }
})

app.list.push('d');
но одну переменную он ватчить не хочет
07:48:56 ПП
User 60331718
даже с deep: true
07:50:09 ПП
User 60331718
@xanf_ua призываю тебя!
07:50:21 ПП
07:50:26 ПП
07:50:33 ПП
07:51:22 ПП
User 60331718
как вотчить i'й элемент масива из vuex состояния?
07:51:28 ПП
User 136935602
Я в поезде.  И настроения нет
08:37:36 ПП
User 136935602
И интернета :)
08:41:51 ПП
User 60331718
у меня совершенно не срочно👍
08:52:54 ПП
User 129764355
User 60331718
вот этот
Мб как-нибудь типа watch(()=>this.list[this.i], cb)
?