@vuejs_ru

Страница 1543 из 3900
kuanysh anuarkhanov
02.11.2017
06:29:57
li тут для примера

Dmitriy
02.11.2017
06:30:30
<a :href="item.url"><li> {{item }} </li> </a>

Вот так как то

Есть у тебя массив объектов, то бери свое свойство и бинди в href

Google
Vladimir
02.11.2017
06:31:17
вот так надо
Покажи пример как ты видишь конечный результат

Сергей
02.11.2017
06:36:51
а хочу что ссылка была одна
Я же писал выше, напиши метод, который будет принимать данные, и возвращать массив с одним элементом. Внутри метода можно любое условие поставить.

Ilya
02.11.2017
06:36:52
#whois не знаю, делают ли так все здесь присутствующие, но традиция есть традиция. Я веб разработчик в компании RailsJedies. Пишу код на Rails и на JS (в данный момент на фреймворке Vue). Довольно углубленно ушел во Vue и в его тонкости. Сообщество интересно своей уникальностью

Сергей
02.11.2017
06:37:54
https://codepen.io/kh0rn/pen/YEyRmE?editors=1010

Anton
02.11.2017
07:03:39
Хуясе. Чего вы тут настрочили на 500+ постов за ночь?

kuanysh anuarkhanov
02.11.2017
07:14:47
Ребят спасибо! Я разобрался. Проблема была в реализаций верстки, придется чуть больше по верстать

Starik
02.11.2017
07:51:50
Опытные товарищи, похоливарьте в честь обеда rx.js vs vuex. Естественно в привязке к Vue. Хочу послушать плюсы минусы и подводные.

Сергей
02.11.2017
07:55:48
Не думаю, что могу причислить себя к опытным, но не особенно понятно, почему "VS", а не "&".

Starik
02.11.2017
07:57:28
& тем более.

Michael
02.11.2017
08:00:06
?? да, все верно
Без new лучше не юзать такие

Google
Сергей
02.11.2017
08:00:54
& тем более.
Ну, vuex используешь как хранилище состояния, а rxjs как управление потоками данных. Это разные плоскости чуть-чуть. От Эвана есть плагин для vue , vue-rx, который встраивается в инстанс, добавляет директивы, перехватывающие события и т.д. Вполне можно совместно использовать, на мой взгляд.

Michael
02.11.2017
08:00:54
Rafael
02.11.2017
08:01:10
Michael
02.11.2017
08:01:55
Если оно и заведется, то this будет виндоу

Или глобал или где там оно вызывается, но нет новый объект

Кроме call, apply bind, стрелок

И новых методов

Сергей
02.11.2017
08:12:40
никто не знает?
Это обычный js изнутри. Можно воспользоваться старинным способом задавать значение по умолчанию. Например: el.style.color = binding.value || 'red'

Aslan
02.11.2017
08:22:47
Кто нибудь использовал weex для мобильных приложений?

Starik
02.11.2017
08:27:19
Есть какой то толковый разжеванный пример интеграции этого дела

?

Ну может какой-то видосик который когда то кому то очень помог поначалу

Michael
02.11.2017
08:31:54
Кто нибудь использовал weex для мобильных приложений?
Вчера один чел здесь хотел попробовать, так и пропал. А вообще, может, есть комната для викса в телеге?? Если нет го создадим.

Сергей
02.11.2017
08:32:42
Могу скинуть ссылку на канал YouTube. Просто вобъешь в поиск rxjs, там и общая информация и с привязкой к Vue. На английском естественно.

Artem
02.11.2017
08:40:57


Margarita
02.11.2017
08:41:37
Всем доброго времени суток! Подскажите пожалуйста, кто знает, имеют ли кастомные компоненты, объявленные как тег, и кастомные компоненты, объявленные через is, какую-то разницу на практике? Проще говоря, <custom></custom> и <div is="custom"></div> - это одно и то же?

Google
Margarita
02.11.2017
08:44:00
Alexandr
02.11.2017
08:50:08
Сразу вопрос. Зачем городить хранилище, мутации и прочее если с потока можно просто дергать при желании последнее значение. Чем это выгоднее?
не совсем понял о чем ты. Хранилище для обмена между компонентами, а что значит дергать с потока?

Kirill
02.11.2017
08:50:29
ребят, как можно динамически импортировать компоненты из заранее указанной где-то отдельно папки? import Child from ./components/${folder}/child.vue - ругается

Starik
02.11.2017
08:54:02
не совсем понял о чем ты. Хранилище для обмена между компонентами, а что значит дергать с потока?
А потоки не идут сверху вниз? И по идее добираются до самых закоулков приложения? Допустим у нас есть флаг на показ какой нибудь панельки глобально. Ну есть стрим с этим переключателем. Зачем нам его хранить в хранилище если можно сделать если мне не изменяет память бехавиор сабджект и просто брать при желании оттуда последнее значение флага в любом месте приложения где мы на него подпишемся.

Alexandr
02.11.2017
08:55:10
а из одного дочернего в другое?

Starik
02.11.2017
08:56:09
а из одного дочернего в другое?
Ну так что все эти потоки глобальны, что хранилище глобально. Я может чего то не понимаю.

Сергей
02.11.2017
09:01:26
Сразу вопрос. Зачем городить хранилище, мутации и прочее если с потока можно просто дергать при желании последнее значение. Чем это выгоднее?
vuex управляет состоянием приложения. Какая вкладка открыта, какой компонент отображается, как именно отображается тот или иной компоненет, как изменить отображение в зависимости от тех или иных действий пользователя, активна кнопка или нет и т.д. Мутации и Экшены нужны в свою очередь для того, чтобы сделать все изменения управляемыми, инкапсулировать состояние и предоставить простой единообразный способ управления всем этим, в том числе и мощный инструмент отладки А основная проблема, которую решают потоки - это конкуренция в асинхронном програмированнии. Скажем, тебе нужно организовать текстовый поиск, при котором происходит запрос к удаленному серверу, можно потратить минут 10 описывая это через колбеки, вводя дополнительные состояния, чтобы запросы передавались не чаще, скажем, одного раза в 2 секунды, чтобы запросы не передавались, если данные поля не изменились, и еще пара проверок, и все это будет крайне утомительно, если не сказать болезненно. С помощью rxjs эта совокупность проблем решается в несколько строк кода. Разные задачи у vuex и rxjs.

Starik
02.11.2017
09:02:34
vuex управляет состоянием приложения. Какая вкладка открыта, какой компонент отображается, как именно отображается тот или иной компоненет, как изменить отображение в зависимости от тех или иных действий пользователя, активна кнопка или нет и т.д. Мутации и Экшены нужны в свою очередь для того, чтобы сделать все изменения управляемыми, инкапсулировать состояние и предоставить простой единообразный способ управления всем этим, в том числе и мощный инструмент отладки А основная проблема, которую решают потоки - это конкуренция в асинхронном програмированнии. Скажем, тебе нужно организовать текстовый поиск, при котором происходит запрос к удаленному серверу, можно потратить минут 10 описывая это через колбеки, вводя дополнительные состояния, чтобы запросы передавались не чаще, скажем, одного раза в 2 секунды, чтобы запросы не передавались, если данные поля не изменились, и еще пара проверок, и все это будет крайне утомительно, если не сказать болезненно. С помощью rxjs эта совокупность проблем решается в несколько строк кода. Разные задачи у vuex и rxjs.
Спасибо за отличный коммент. Буду вникать.

Vadim
02.11.2017
09:09:53
vuex управляет состоянием приложения. Какая вкладка открыта, какой компонент отображается, как именно отображается тот или иной компоненет, как изменить отображение в зависимости от тех или иных действий пользователя, активна кнопка или нет и т.д. Мутации и Экшены нужны в свою очередь для того, чтобы сделать все изменения управляемыми, инкапсулировать состояние и предоставить простой единообразный способ управления всем этим, в том числе и мощный инструмент отладки А основная проблема, которую решают потоки - это конкуренция в асинхронном програмированнии. Скажем, тебе нужно организовать текстовый поиск, при котором происходит запрос к удаленному серверу, можно потратить минут 10 описывая это через колбеки, вводя дополнительные состояния, чтобы запросы передавались не чаще, скажем, одного раза в 2 секунды, чтобы запросы не передавались, если данные поля не изменились, и еще пара проверок, и все это будет крайне утомительно, если не сказать болезненно. С помощью rxjs эта совокупность проблем решается в несколько строк кода. Разные задачи у vuex и rxjs.
Зачем сохранять активность кнопки, отображение компонента или еще какие-то view ориентерованные данные во vuex?

?
02.11.2017
09:10:07
Скриншоты через JS пилить чем? Все так же canvas?

Сергей
02.11.2017
09:12:03
Зачем сохранять активность кнопки, отображение компонента или еще какие-то view ориентерованные данные во vuex?
Когда писал, мне показалось излишним городить абстракцию в духе: vuex хранит данные, которые в свою очередь определяют как отображать view.

Сергей
02.11.2017
09:17:11
Vadim
02.11.2017
09:18:27
@sergeykhorn Мне интересно другое, в чем идея хранить так много данных в сторе, почему не локальный стейт умных компонентов?

Starik
02.11.2017
09:18:28
Меня смущает непомерное раздувание количества всех этих мутаций по пустякам.

Может я просто еще не проникся...

Google
Alex
02.11.2017
09:22:16
В Краснодаре
опа, земляк

о, земляк)
о, земляк

Alexandr
02.11.2017
09:23:21
а говорят тут программистов мало

Alex
02.11.2017
09:27:51
а говорят тут программистов мало
говорят тут работы мало, вот это тема)

Но я бы так не сказал

И мнение @Fl0pZz что тут он не нашёл бы работу я не разделяю. С его-то опытом

Alexandr
02.11.2017
09:28:50
я пока не проьбовал искать, как переехал сюда работу не менял, так и работаю в своей старой фирме, только теперь удаленно

Сергей
02.11.2017
09:29:09
Меня смущает непомерное раздувание количества всех этих мутаций по пустякам.
Штука вот в чем, допустим у тебя есть компонент "Аватарка", у которой есть два состояния: скругленные края и острые, она расположена глубоко в дереве компонентов. Так же есть компоненты "Кнопка", который находится столь же глубоко, но не является ни родителем, ни потомком компонента "Аватарка". Для того, чтобы эта "Кнопка" по нажатию переключала внешний вид "Аватарки" она должна генерировать событие для своего родителя, тот для своего, и так до ближайшего общего родителя, который в свою очередь будет прокидывать в цепочку до "Аватарки" props передаваемый "Кнопкой". И генерацию событий, и передачу свойств прийдется описывать ручками в каждом компоненте. С помощью vuex, все это происходит практически автоматом в пару строк кода. Вот и получется, что вместо ручной синхронизации всего и вся, проще использовать vuex, чтобы сотояние было общее для всего приложения.

Admin
ERROR: S client not available

Alexandr
02.11.2017
09:29:50
Штука вот в чем, допустим у тебя есть компонент "Аватарка", у которой есть два состояния: скругленные края и острые, она расположена глубоко в дереве компонентов. Так же есть компоненты "Кнопка", который находится столь же глубоко, но не является ни родителем, ни потомком компонента "Аватарка". Для того, чтобы эта "Кнопка" по нажатию переключала внешний вид "Аватарки" она должна генерировать событие для своего родителя, тот для своего, и так до ближайшего общего родителя, который в свою очередь будет прокидывать в цепочку до "Аватарки" props передаваемый "Кнопкой". И генерацию событий, и передачу свойств прийдется описывать ручками в каждом компоненте. С помощью vuex, все это происходит практически автоматом в пару строк кода. Вот и получется, что вместо ручной синхронизации всего и вся, проще использовать vuex, чтобы сотояние было общее для всего приложения.
вот ты не ленивый)

Сергей
02.11.2017
09:30:54
вот ты не ленивый)
Я только учусь, потому объясняя часть знаний закрепляю, часть переосмысливаю.))

Michael
02.11.2017
09:34:26
Starik
02.11.2017
09:34:44
Штука вот в чем, допустим у тебя есть компонент "Аватарка", у которой есть два состояния: скругленные края и острые, она расположена глубоко в дереве компонентов. Так же есть компоненты "Кнопка", который находится столь же глубоко, но не является ни родителем, ни потомком компонента "Аватарка". Для того, чтобы эта "Кнопка" по нажатию переключала внешний вид "Аватарки" она должна генерировать событие для своего родителя, тот для своего, и так до ближайшего общего родителя, который в свою очередь будет прокидывать в цепочку до "Аватарки" props передаваемый "Кнопкой". И генерацию событий, и передачу свойств прийдется описывать ручками в каждом компоненте. С помощью vuex, все это происходит практически автоматом в пару строк кода. Вот и получется, что вместо ручной синхронизации всего и вся, проще использовать vuex, чтобы сотояние было общее для всего приложения.
В целом я понимаю почему общий стейт выгоден и оправдан. Читал историю возникновения всех этой Flux архитектуры. Меня смущает что для каждого скругленного уголка в хранилище нужно делать мутацию, которая перезаписывает весь обьект с потрохами. И допустим у нас есть кучка статей и хнранятся они у нас в массиве, нужно поменя их свойство прочитаны они или нет, ведь приходится копировать весь массив потом менять что нужно и записывать обратно. Или я что-то упускаю? Это вобще по памяти эффективно?

Сергей
02.11.2017
09:36:06
с темпом развития темы, "учимся" мы постоянно))
Да не, я действительно только учусь, через месяц планирую начать первую работу искать по разработке. До этого фрилансил по ретуши, монтажу и цветокоррекции.))

Michael
02.11.2017
09:38:16
Тогда на всякий случай отмечу, что всё подряд в лобалстейте типа вьюекса хранить не стоит. Если есть логика в том, чтобы от него зависело отображение, то лучше "прокидывать" события

если совсем не получается, тогда да

Vadim
02.11.2017
09:39:04
Штука вот в чем, допустим у тебя есть компонент "Аватарка", у которой есть два состояния: скругленные края и острые, она расположена глубоко в дереве компонентов. Так же есть компоненты "Кнопка", который находится столь же глубоко, но не является ни родителем, ни потомком компонента "Аватарка". Для того, чтобы эта "Кнопка" по нажатию переключала внешний вид "Аватарки" она должна генерировать событие для своего родителя, тот для своего, и так до ближайшего общего родителя, который в свою очередь будет прокидывать в цепочку до "Аватарки" props передаваемый "Кнопкой". И генерацию событий, и передачу свойств прийдется описывать ручками в каждом компоненте. С помощью vuex, все это происходит практически автоматом в пару строк кода. Вот и получется, что вместо ручной синхронизации всего и вся, проще использовать vuex, чтобы сотояние было общее для всего приложения.
Да такие изменения стейта я тоже выношу в стор on demand. Я просто подумал что ты все изменения стейта выносишь во vuex.

Michael
02.11.2017
09:39:55
допустим, есть тодо список. кнопка добавляет новый кусочек в глобал, этот новый кусочек запускает перерендеринг списка, общий родитель которого с кнопочкой может быть хоть рут.

Google
Starik
02.11.2017
09:40:09
Тогда на всякий случай отмечу, что всё подряд в лобалстейте типа вьюекса хранить не стоит. Если есть логика в том, чтобы от него зависело отображение, то лучше "прокидывать" события
Есть изящные методики как в этом всем не потеряться? Воркфлоу какой нибудь может. Типа чтобы глянул такой на компонент и сразу видно что да где куда пуляется и принимается

Michael
02.11.2017
09:40:24
в глобале есть смысл хранить только бизнес-данные или как там их

а всё остальное от них зависит.

Michael
02.11.2017
09:41:08
я пока ничего кардинально отличающегося от ООП концепции в компонентах не обнаружил. Чуваки просто перенесли существующие идеи с плюсов, джавки и прочее такое

конкретно у нас есть нюанс с тяжёлыми операциями в ДОМ, где нам помогают фреймы типа вью

Ilya
02.11.2017
09:42:31
Штука вот в чем, допустим у тебя есть компонент "Аватарка", у которой есть два состояния: скругленные края и острые, она расположена глубоко в дереве компонентов. Так же есть компоненты "Кнопка", который находится столь же глубоко, но не является ни родителем, ни потомком компонента "Аватарка". Для того, чтобы эта "Кнопка" по нажатию переключала внешний вид "Аватарки" она должна генерировать событие для своего родителя, тот для своего, и так до ближайшего общего родителя, который в свою очередь будет прокидывать в цепочку до "Аватарки" props передаваемый "Кнопкой". И генерацию событий, и передачу свойств прийдется описывать ручками в каждом компоненте. С помощью vuex, все это происходит практически автоматом в пару строк кода. Вот и получется, что вместо ручной синхронизации всего и вся, проще использовать vuex, чтобы сотояние было общее для всего приложения.
я как то костылил и делал event bus для этого)

Michael
02.11.2017
09:42:32
остальное классика

Сергей
02.11.2017
09:42:36
И тогда при записи arr[12] = 13 не будет реактивности
Что-то я потерялся. Ты ведь это делаешь не через мутацию.

Starik
02.11.2017
09:44:21
Что-то я потерялся. Ты ведь это делаешь не через мутацию.
Да. И getter использующий этот arr не хочет что-то обновляться в таких ситуациях. Я делаю копию этого массива изменяю пишу назад, тогда все фурычит. Я ошибаюсь?

Michael
02.11.2017
09:45:06
Есть изящные методики как в этом всем не потеряться? Воркфлоу какой нибудь может. Типа чтобы глянул такой на компонент и сразу видно что да где куда пуляется и принимается
смотри выше пример с тодо. У тебя есть важные данные типа списка тодо, количество товаров в корзине, конфиг пользователя (тёмна тема, белая тема), остальное что зависит от этих штук, вешается на это как на пропсы, но как можно логичнее и гибче

если что-то содержит данные, которые триггерят что-то совсем вовне и есть нужа в глобалах, -- проверьте архитектуру. Та же тема, что когда-то была с пиханием всего в window/global

мутации же нужны чтобы вс раоту с этим глобалом вынести в отдельный скрипт

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

Starik
02.11.2017
09:51:05
мутации же нужны чтобы вс раоту с этим глобалом вынести в отдельный скрипт
Ну у меня почему то вышло в основном что 50% мутаций это тупо запись какой нибудь штуки в стейт. Потому это меня и засмущало. Я с ангуляра первого просто приехал, может сказываются старые привычки просто.

Michael
02.11.2017
09:51:36
ещё иногда кажется удобней впихнуть всё в глобал для SSR, но сие не есть гуд.

представь ситуацию

есть у тебя 100500 компонентов и 250 скриптов поверх

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