@vuejs_ru

Страница 1403 из 3900
Victor
26.09.2017
09:54:51
Если строка идет отдельным компонентом, то можно прямо в mounted делать this.isNew = true setTimeout(() => this.isNew = false, 100)

Astr0junk
26.09.2017
09:55:32
Нет. строка это рендеринг в v-for

и первичный рендеринг таблицы хочется без анимации. а все последующие добавления с анимацией

Victor
26.09.2017
09:57:14
Нет. строка это рендеринг в v-for
Это не отменяет потенциальную возможность иметь компонент для строки

Google
Victor
26.09.2017
09:57:20
Но я не настаиваю :)

Astr0junk
26.09.2017
09:57:38
это да) но как то не хочется)

только если уже без вариантов

Victor
26.09.2017
09:58:20
Почему же? Твой способ тоже норм, только я не вижу необходимости в watch

Грубо говоря у тебя есть какой-то метод, где строки добавляются, вот в нем и вешай timeout

Astr0junk
26.09.2017
09:59:04
а..ну как вариант

кстати да.

Victor
26.09.2017
09:59:43
Единственное, нужно учесть вариант, что ДО истечения таймаута строку могут удалить

Nightwelf
26.09.2017
11:03:13
кто подскажет, есть как обычно, все нормальные браузеры и IE, дак вот в нем вот такое вот предупреждение, хотелось бы избежать его, никто не встречался с таким? [Vue warn]: Error in created hook: "ReferenceError: "Proxy" не определено"

Nikolay
26.09.2017
11:19:37
влепить полифил для Proxy

глянуть можно тут https://github.com/zloirock/core-js

Богдан
26.09.2017
11:26:24
немного боли camel_case underScope

Nightwelf
26.09.2017
11:39:04
влепить полифил для Proxy
спасибо! попробую

Google
Nightwelf
26.09.2017
11:40:18
влепить полифил для Proxy
хотя автополифил уже есть

Illya
26.09.2017
12:21:47
Ой лол

:)

Полифилить прокси невозможно

Andrii
26.09.2017
12:40:03
Привет. Вью выкидывает ошибку когда я пишу такое: v-bind:class="{{ (task.expired) ? 'list-group-item pull-left list-group-item-danger' : 'list-group-item pull-left')}}"

Что делать? в доках так можно

Ошибка компиляции темплейта, invalid expression:

Karen
26.09.2017
12:41:31
Лишняя закрывающая ")", не?

Andrii
26.09.2017
12:41:56
только что увидел, но и без нее то же самое

Решил, вот так надо: <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>

Stanislav
26.09.2017
12:51:24
безумие

Victor
26.09.2017
12:54:13
<div v-bind:class="{ active: isActive }"></div>

Sasha
26.09.2017
12:56:21
<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
26.09.2017
12:56:24
По-моему, тут без тернарок будет куда красивее

Andrii
26.09.2017
12:56:37
По фигурным скобкам странно. Недавно вью изучаю, но в доках не видел одинарных

Karen
26.09.2017
12:57:34
это байндинг, тут фигурные скобки обозначают обычный объект джаваскриптовый

Sasha
26.09.2017
12:57:40
и пиши нормальные классы

по бэму

Google
Andrii
26.09.2017
13:03:00
Круто. Не знал что так можно. Спасибо)

Anton
26.09.2017
13:20:30
Кто-нибудь может подсказать, как использовать *плагин* внутри компонента? я пытаюсь делать так: 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
26.09.2017
13:24:59
template находится внутри myCustomComponent?

Тогда там и нужо импортировать PortalVue, кмк

Anton
26.09.2017
13:30:21
Тогда там и нужо импортировать PortalVue, кмк
Ага, он внутри компонента, и я вот тоже думаю, что наверное надо бы как-то его импортировать, вроде того, как это с компонентами делается. import OtherComponent from '../other_component/index.js'; export default { ... components: { 'other-component': OtherComponent, }, } Но это ж блин плагин! Он подключается через Vue.use, а в компоненте у меня нет Vue. Да и если верить докам про плагины - достаточно 1 раз глобально подключить...

Victor
26.09.2017
13:31:17
хз, с этим компонентом я не сталкивался ранее

Anton
26.09.2017
13:44:14
хз, с этим компонентом я не сталкивался ранее
Это не компонент) Плагин, а он сам уже регистрирует компоненты... Но спасибо за участие) Буду наверное всё рефакторить, чтобы плагин не в компоненте использовать, а в приложении

Victor
26.09.2017
13:45:47
Смотри, поиск по гитхабу подсказал демку

https://github.com/kaydwithers/vue-contentful-demo/blob/fcb91cda00b5dd8b31a289187bd5f913f9a7f116/src/main.js

Тут плагин подключается в главном js файле

А потом действительно используется без дополнительного импорта

https://github.com/kaydwithers/vue-contentful-demo/blob/fcb91cda00b5dd8b31a289187bd5f913f9a7f116/src/App.vue

Anton
26.09.2017
13:49:02
Тут плагин подключается в главном js файле
Странно, вроде как у меня то же самое происходит. Попробую поднять этот пример и разобрать по косточкам. Спасибо ещё раз)

Victor
26.09.2017
13:51:04
А шо, хлопчики, кто-то юзает TS для Vue? https://medium.com/the-vue-point/upcoming-typescript-changes-in-vue-2-5-e9bd7e2ecf08

А то вот я не вижу на кой он нужен на фронте

Может кто-то поделится?

Vladimir
26.09.2017
13:54:58
Юзается ts либо flow на больших проектах под нескольких разрабов

А так, для себя смысла мало ...

Конкретно для себя я профита никакого не увидел в его приминении ..

Google
Alex
26.09.2017
13:57:31
почему пропсы компоненты не доступны в момент mounted()?

Alex
26.09.2017
13:58:05
доступны

Alex
26.09.2017
13:59:45
props: ['options'], data () { return { form: { items: [] }, } }, mounted() { this.getForm() }, methods: { getForm() { console.log(this.options) }





Anton
26.09.2017
14:02:21
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
26.09.2017
14:03:29
почему пропсы компоненты не доступны в момент mounted()?
иногда они могут присылаться позднее, чем компонент проходит цикл mounted и из-за этого выходят проблемы

Vladimir
26.09.2017
14:12:12
Сейчас ..

Illya
26.09.2017
14:12:59
Ждать их в updated

Хотя вообще то лучше Написать реактивный код

Если проп один то watch поможет

Alex
26.09.2017
14:13:35
watch на options и в нем вызывать ещё раз метод getForm

Vladimir
26.09.2017
14:13:51
Либо делать событие $emit и производить его после успешного fetch запроса

Alex
26.09.2017
14:18:07
Спасибо!

на watch работает как надо. Чёрти что. Спасибо

Vladimir
26.09.2017
15:44:13
С возвращением .

Гийденко
26.09.2017
15:58:59
ребят подскажите пжлст, как забиндить булен на добавление одного из классов? то есть в данных такой булин есть data: { opened: false } и див такого примерно состава <div class="site-sidebar custom-scroll"> надо к имеющимся классам добавить класс ative если булен переключен в true. я в доке видел как оверрайдить все классы, а вот для отдельного чот не нашел пока. пробовал так <div :class="site-sidebar custom-scroll {active: opened}"> но ошибка конечно

Google
Гийденко
26.09.2017
16:00:34
а, отдельным атрибутом класса чтоле. я не вронтэндер потому такие глупые вопросы)

https://ru.vuejs.org/v2/guide/class-and-style.html
ну тут же и смотрел

а вот подскажите что. класс я добавил, но другой скрипт (по клику мимо панели) удаляет этот класс. Могу я это отловить чтобы в данных тоже поменять булин обратно на false? или это както иначе делается?

не, лучше сделать чтобы менялось в одном месте, а то путаница

Гийденко
26.09.2017
16:23:05
да но в шаблоне который я взял есть скрипт который тоже этот класс рулит

получается нессоответствие. панелька закрылась а булин не поменялся

Александр
26.09.2017
16:26:31
Если делать CRUD. То куда методы выносить?

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