@vuejs_ru

Страница 496 из 3900
AlexMist
30.05.2017
12:25:31
Ага. Можно ошибиться и не узнать об этом
Так же и тег закрыть можно не верно )

Andrey
30.05.2017
12:25:55
О, нарыл решение, теперь ошибки нет, но и шаблон не отображается, Вот что прописал в package.json "browser": { "vue": "vue/dist/vue.common.js" }

Google
Alex
30.05.2017
12:26:20
Так же и тег закрыть можно не верно )
в современных редакторах эта ошибка практически исключена

Stanislav
30.05.2017
12:26:20
да ну?
>Use npm run build —report to build with bundle size analytics.

в 2.2+ точно

Yaroslav
30.05.2017
12:26:55
AlexMist
30.05.2017
12:27:05
Так он и на pug орать будет, они компилятся в html

Stanislav
30.05.2017
12:27:23
нет. Pug закроет тэг в любом случае

AlexMist
30.05.2017
12:28:44
https://github.com/bootstrap-vue/bootstrap-vue/ Юзал кто нибудь ? Как вам ?

Andrey
30.05.2017
12:30:15
pug удобнее в плане того, что все более минималистично выглядит, а так, не вижу смысла его использовать, ибо тот же emmet во всех современных редакторах позволяет писать хтмл со скоростью написания разметки на pug

Andrey
30.05.2017
12:32:06
особенно если у тебя сначала идет <template lang="pug"></template>, а потом еще и скрипты со стилями тоже в хтмл виде, получается немного каша из хтмл и пага

Вишневый чай
30.05.2017
12:32:30
и еще в emmet нету миксинов

да и в целом, переделать Pug разметку проще, не надо ловить закрывающие дивы оберток

Google
Вишневый чай
30.05.2017
12:34:15
если вам вдруг нужна расстановка БЭМ классов, снова паг очень выручает от рутины

Andrey
30.05.2017
12:35:13
Вообще, мне нравится pug, но до опыта во vue компонентах с использованием пага я не дошел еще)

Andrey
30.05.2017
12:35:50
да и миксины паговские там по моему тоже не особо нужны

Alex
30.05.2017
12:36:12
Да, pug прикольно, но как доходит до дела (а не поиграться с минималистичностью), то лично мне проще без него

Вишневый чай
30.05.2017
12:36:17
В Vue не сильно нужен бэм
есть разные мнения на этот счет

Stanislav
30.05.2017
12:36:24
Ок)

Вишневый чай
30.05.2017
12:36:40
хотя я с вами согласен

и тем не менее я вижу что бэм проскакивает то там то сям

Stanislav
30.05.2017
12:38:47
❤️ БЭМ, но в Vue можно и без него.

Anton
30.05.2017
13:23:16
Ребята, помогите советом. Раньше писал на реакте. Достаточно быстро пришел к тому, что redux нужен, чтобы не пробрасывать эвенты вверх до корневого компонета и не обрабатывать все там. Тут же как я понял мельком почитав чатик vuex особо не жалуют, считая, что в 90% случаев он не нужен. Как быть, когда на пятом уровне вложенности есть компонент AddComment, который должен принять от юзера текст коммента и после этого нужно отправить этот текст на сервер? Пробрасывать эвент до верхнего компонета, где и сделать запрос или делать запрос прямо из этого компонента (как тут выразились сделав его самостоятельной боевой единицей)?

Stanislav
30.05.2017
13:26:52
СБЕ

+1

Anton
30.05.2017
13:27:12
СБЕ?

Alex
30.05.2017
13:27:33
Самостоятельна боевая единица

Anton
30.05.2017
13:27:41
а понял)

Alex
30.05.2017
13:27:56
ну по логике AddComponent должен только заэмиттить событие что новый коммент. Пробросить его наверх, где оперируется списком комментариев и там уже и отправить комментарий на сервер и тут же добавить в список, чтобы отобразить

чтоб два раза не вставать и новый добавляемый комментарий сразу отображать

Google
Михаил
30.05.2017
13:28:15
можно использовать шину событий для этого, гугли vue-bus

Alex
30.05.2017
13:28:46
можно использовать шину событий для этого, гугли vue-bus
Шина примерно тоже самое что и в root событие отправлять

Anton
30.05.2017
13:30:22
а показать лоадер пока идет запрос на добавление? Если пробрасывать наверх. Это мне надо пробросить наверх событие, там установить props isFetching, пробросить его вниз до AddComponent, который покажет или скроет прелоадер. Геморой какой то:)

Igor
30.05.2017
13:31:16
делай шину

Pavel
30.05.2017
13:31:47
Объясните

Anton
30.05.2017
13:31:51
понял почитаю про vue-bus. Он получается прокидывается насквозь всем компонетам ?

Pavel
30.05.2017
13:31:51
Почему vuex не актуален

Anton
30.05.2017
13:32:33
ну а если все же надо?)

Alex
30.05.2017
13:32:58
тогда да, надо прокидывать

потом же всё равно автоматом будет работать

спасибо реактивности :)

Anton
30.05.2017
13:33:54
тяжко перестроить мозг после реакта. Спасибо

Alex
30.05.2017
13:34:27
тяжко перестроить мозг после реакта. Спасибо
Перестраивайте тогда в сторону - все работает от данных) меняем как хотим, везде привязки остальное обрабатывают

Anton
30.05.2017
13:36:41
еще вопрос: как по феншую код организовывать? Файл SomeComponent.vue. В нем 3 секции: <template> </template> <script> </script> <style> </style> Так?

типа как тут: https://laracasts.com/series/learn-vue-2-step-by-step/episodes/16

?
30.05.2017
13:37:16
Можно и по src подключать

если слишком большие файлы

Anton
30.05.2017
13:38:39
по src?

Alex
30.05.2017
13:39:35
я обычно пишу в одном файле, не слишком много кода выходит... иногда стили из файла подключаю

Google
Anton
30.05.2017
13:40:38
Понял. Ну также 3 блока же? template, script, style? В реакте просто один объект экспортится.

киньте плиз если есть в меня чем то типа best practices, чтоб поменьше граблей собрать

Alex
30.05.2017
13:42:20
Три блока, если в template много вёрстки, стараюсь разбить на компоненты. Если стили глобально можно заюзать, то в блок style не пишу такие. Ну а script бывает толстоват, но не сильно.

Anton
30.05.2017
13:42:58
ага, понял, спасибо

Rafael
30.05.2017
13:43:12


Что скажите господа?

Alex
30.05.2017
13:44:29
Что скажите господа?
Не аутентифицируй

Admin
ERROR: S client not available

Alex
30.05.2017
13:45:03
киньте плиз если есть в меня чем то типа best practices, чтоб поменьше граблей собрать
Нету как таковых :) чем проще делаешь тем лучше, как по мне этой best practice хватает

Anton
30.05.2017
13:45:18
Если можно опросик бы хотел небольшой. Не супер пупер большой проект. Как бы строили: 1. Vuex 2. Самостоятельные компонеты 3. Всякие общие шины

?
30.05.2017
13:46:09
Что скажите господа?
Альтернатива?

Rafael
30.05.2017
13:46:33
Да я ж хз, я не юзал jwt

Вбросил чтобы послушать

Igor
30.05.2017
13:48:19
годно. еще бы первую часть, но думаю она тоже гуглится

Alex
30.05.2017
13:53:24
Vuex нужен, когда он действительно нужен

Anton
30.05.2017
13:53:46
когда например?

Alex
30.05.2017
13:53:48
Шина может потребоваться для каких-нибудь экзотичных случаев

когда много разных компонентов должны оперировать одинаковыми данными, которые и удобнее вынести вынести в стор

Google
Alex
30.05.2017
13:54:37
Опять же, такое не в каждом проекте может потребоваться

Igor
30.05.2017
13:55:11
когда много разных компонентов должны оперировать одинаковыми данными, которые и удобнее вынести вынести в стор
я, кстати, посмотрел на vuex, не понравилось, что названия коммитов надо передавать как параметры, и забил на него.

решил просто шину делать. ну нет time-travel ну и что.

Alex
30.05.2017
13:55:37
В этом и прелесть) можно делать одно и тоже по-разному, как в конкретном случае удобнее и больше нравится

Igor
30.05.2017
13:59:13
а напомни, что он там делает? добавляет в computed штуки из стора?

Rafael
30.05.2017
14:08:32
а напомни, что он там делает? добавляет в computed штуки из стора?
Да, делает возможность вместо this.$store.commit('blabla', ...) писать this.blabla(...)

Igor
30.05.2017
14:13:01
ну, это конечно важная фича, но у меня не так много полей, чтобы париться из-за этого ?

можно самому написать, btw

Yaroslav
30.05.2017
14:14:13
Если в компоненте живет отдельно выступающий "цирк шапито" то ладно. Но если у нас есть общее состояние приложения, даже не сосотояние а условно переменные, то произвольное изменение их создаст бардак в коде. Я уже как бы молчу о чистых функциях и впринципе и вообще

Stanislav
30.05.2017
14:14:18
а показать лоадер пока идет запрос на добавление? Если пробрасывать наверх. Это мне надо пробросить наверх событие, там установить props isFetching, пробросить его вниз до AddComponent, который покажет или скроет прелоадер. Геморой какой то:)
Делай отправку коммента из компонента добавления коммента (AddComment) и вешай лоэдер в этом же AddComment. При получения успешного ответа от сервера, эмить событие (add-comment) с payload в виде информации коммента. В родителе слушаешь @add-comment на AddComment и пушишь новый коммент в массив предыдущих комментов, которые ты рендерил через v-for. Все автоматом перерисуется.

А лоадер можно и не показывать. А скажем так считать отправку коммента по умолчанию оптимистичной)
будет красиво, но больше морочится надо с UI, если учитывать проблемы при отправке :)

еще вопрос: как по феншую код организовывать? Файл SomeComponent.vue. В нем 3 секции: <template> </template> <script> </script> <style> </style> Так?
У меня разметка в vue файле. Примерно так: <template> <div>my template</div> </template> <script src="./MyComponent.js"></script> <style src="./assets/styles/MyComponent.scss" lang="scss"></style> У каждого компонента своя папочка.

Если можно опросик бы хотел небольшой. Не супер пупер большой проект. Как бы строили: 1. Vuex 2. Самостоятельные компонеты 3. Всякие общие шины
Щины не нужны. Vuex в зависимости от функциональности. Если нужно использовать одни данные для нескольких компонентов. Например, есть журнал платежей. И есть форма добавления платежей. Все это, естественно, в разных частях приложения. С Vuex удобно будет добавить новый платеж в журнал платежей.

Alex
30.05.2017
14:24:18
будет красиво, но больше морочится надо с UI, если учитывать проблемы при отправке :)
а чего там за проблемы, в catch переиспользовать функцию удаления коммента по ID

Stanislav
30.05.2017
14:26:08
а чего там за проблемы, в catch переиспользовать функцию удаления коммента по ID
Не, я в плане ux. Рисуешь лоэдер. Если не получилось, скрываешь. Показываешь уведомление, что "не смогла". Показываешь кнопку попробовать снова... Возни много)) С лоэдером быстрее и проще, особенно если научить лоэдер отображать ошибки ;)

Alex
30.05.2017
14:26:40
Не показываешь лоадер. Если случилась ошибка только тогда показываешь уведомление и переиспользуешь метод удаления коммента

Alex
30.05.2017
14:26:46
мне кажется меньше работы)

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