Павел
у меня прототип, но там карта по центру, а вокруг нее все эти формочки
Павел
и все это захерачено в одном компоненте
Mixam19
прототип работает?
Mixam19
если да, то это онли вопрос вёрстки дальше
Павел
да
Павел
куда картинку выкинуть можно, чтобы тебе показать?
Mixam19
да можешь в личку закинуть
Astr0junk
Коллеги, есть вопрос - у меня есть примерный вариант решения задачи. ПОдскажите правильно ли мыслю. Задача: при рендеринге строки в таблице анимировать ей фон. Моя мысль - при добавлении записи в массив строк, добавить новой строке проперти (типа NEW), установить ей класс newRow, и покрасить по этому классу. А снять его по таймауту, который установится через watch у списка.
Astr0junk
правильно ли я думаю?
Victor
Если строка идет отдельным компонентом, то можно прямо в mounted делать this.isNew = true setTimeout(() => this.isNew = false, 100)
Astr0junk
Нет. строка это рендеринг в v-for
Astr0junk
и первичный рендеринг таблицы хочется без анимации. а все последующие добавления с анимацией
Victor
Нет. строка это рендеринг в v-for
Это не отменяет потенциальную возможность иметь компонент для строки
Victor
Но я не настаиваю :)
Astr0junk
это да) но как то не хочется)
Astr0junk
только если уже без вариантов
Victor
Почему же? Твой способ тоже норм, только я не вижу необходимости в watch
Victor
Грубо говоря у тебя есть какой-то метод, где строки добавляются, вот в нем и вешай timeout
Astr0junk
а..ну как вариант
Astr0junk
кстати да.
Victor
Единственное, нужно учесть вариант, что ДО истечения таймаута строку могут удалить
Павел
кто подскажет, есть как обычно, все нормальные браузеры и IE, дак вот в нем вот такое вот предупреждение, хотелось бы избежать его, никто не встречался с таким? [Vue warn]: Error in created hook: "ReferenceError: "Proxy" не определено"
Nikolay
влепить полифил для Proxy
Nikolay
глянуть можно тут https://github.com/zloirock/core-js
Bogdan
немного боли camel_case underScope
Павел
влепить полифил для Proxy
спасибо! попробую
Павел
влепить полифил для Proxy
хотя автополифил уже есть
Illya
Ой лол
Illya
:)
Illya
Полифилить прокси невозможно
Andrew
Привет. Вью выкидывает ошибку когда я пишу такое: v-bind:class="{{ (task.expired) ? 'list-group-item pull-left list-group-item-danger' : 'list-group-item pull-left')}}"
Andrew
Что делать? в доках так можно
Andrew
Ошибка компиляции темплейта, invalid expression:
🤔
Лишняя закрывающая ")", не?
Andrew
только что увидел, но и без нее то же самое
Andrew
Решил, вот так надо: <a :class="(task.expired) ? 'list-group-item pull-left list-group-item-danger' : 'list-group-item pull-left'" :href="task.app_url" target="_blank" style="width: 84%;">{{ task.content }}</a>
Anonymous
безумие
Victor
<div v-bind:class="{ active: isActive }"></div>
Anonymous
<a class='list-group-item pull-left' :class='{"list-group-item-danger": task.expired}' :href='task.app_url' target='blank' style v css file zasun blyad> {{ task.content }}</a>
Peter
По-моему, тут без тернарок будет куда красивее
Andrew
По фигурным скобкам странно. Недавно вью изучаю, но в доках не видел одинарных
🤔
это байндинг, тут фигурные скобки обозначают обычный объект джаваскриптовый
Anonymous
и пиши нормальные классы
Anonymous
по бэму
Andrew
Круто. Не знал что так можно. Спасибо)
Anton
Кто-нибудь может подсказать, как использовать *плагин* внутри компонента? я пытаюсь делать так: import * as Vue from 'vue/dist/vue.common.js'; import PortalVue from 'portal-vue'; // Я подключаю его в приложении, как понял из документации Vue - глобально Vue.use(PortalVue); // прежде, чем импортировать свои компоненты import myCustomComponent from './custom-component/index.js'; И потом просто пытаюсь использовать, ничего дополнительно не делая в самом компоненте: <template> ... <portal to="startOfBodyTag"> </portal> ... </template> Получаю ошибку, Unknown custom element: <portal>. Чую, что-то не так делаю. Но что?
Victor
template находится внутри myCustomComponent?
Victor
Тогда там и нужо импортировать PortalVue, кмк
Anton
Тогда там и нужо импортировать PortalVue, кмк
Ага, он внутри компонента, и я вот тоже думаю, что наверное надо бы как-то его импортировать, вроде того, как это с компонентами делается. import OtherComponent from '../other_component/index.js'; export default { ... components: { 'other-component': OtherComponent, }, } Но это ж блин плагин! Он подключается через Vue.use, а в компоненте у меня нет Vue. Да и если верить докам про плагины - достаточно 1 раз глобально подключить...
Victor
хз, с этим компонентом я не сталкивался ранее
Anton
хз, с этим компонентом я не сталкивался ранее
Это не компонент) Плагин, а он сам уже регистрирует компоненты... Но спасибо за участие) Буду наверное всё рефакторить, чтобы плагин не в компоненте использовать, а в приложении
Victor
Смотри, поиск по гитхабу подсказал демку
Victor
https://github.com/kaydwithers/vue-contentful-demo/blob/fcb91cda00b5dd8b31a289187bd5f913f9a7f116/src/main.js
Victor
Тут плагин подключается в главном js файле
Victor
А потом действительно используется без дополнительного импорта
Victor
https://github.com/kaydwithers/vue-contentful-demo/blob/fcb91cda00b5dd8b31a289187bd5f913f9a7f116/src/App.vue
Anton
Тут плагин подключается в главном js файле
Странно, вроде как у меня то же самое происходит. Попробую поднять этот пример и разобрать по косточкам. Спасибо ещё раз)
Victor
А шо, хлопчики, кто-то юзает TS для Vue? https://medium.com/the-vue-point/upcoming-typescript-changes-in-vue-2-5-e9bd7e2ecf08
Victor
А то вот я не вижу на кой он нужен на фронте
Victor
Может кто-то поделится?
Vladimir
Юзается ts либо flow на больших проектах под нескольких разрабов
Vladimir
А так, для себя смысла мало ...
Vladimir
Конкретно для себя я профита никакого не увидел в его приминении ..
Alexey
почему пропсы компоненты не доступны в момент mounted()?
Alex
доступны
Alexey
props: ['options'], data () { return { form: { items: [] }, } }, mounted() { this.getForm() }, methods: { getForm() { console.log(this.options) }
Alexey
вот что в консоли
Alexey
меняю mounted на updated
Anton
https://github.com/kaydwithers/vue-contentful-demo/blob/fcb91cda00b5dd8b31a289187bd5f913f9a7f116/src/main.js
Помогло!) Заменил у себя import * as Vue from 'vue/dist/vue.common.js'; На использование алиаса import Vue from 'vue' И сразу всё вылечилось
Vladimir
почему пропсы компоненты не доступны в момент mounted()?
иногда они могут присылаться позднее, чем компонент проходит цикл mounted и из-за этого выходят проблемы
Vladimir
Сейчас ..
Illya
Ждать их в updated
Illya
Хотя вообще то лучше Написать реактивный код
Illya
Если проп один то watch поможет
Alex
watch на options и в нем вызывать ещё раз метод getForm