@vuejs_ru

Страница 495 из 3900
Stanislav
30.05.2017
10:22:17
<component :is="selectedComponent" @changeComponent="selectComponent"></component>

Stanislav
30.05.2017
10:22:58
можно даже v-model настроить :)

Andrey
30.05.2017
10:24:50
это понятно, проблема с доступом через другие компоненты, предположим у нас это прописано в App.vue и там же метод с вычисляемым свойством, но как получить доступ к этому методу в другом компоненте, например в Menu.vue есть кнопка которая должна вызывать метод в компоненте App

который поменяет компонент на другой

Google
Stanislav
30.05.2017
10:26:23
В Menu.vue:

methods: { goHome () { this.$emit('selectComponent', HomePage) } }

Можешь набросать в app.vue небольшой роутер: goto (pageId = 'default') { this.selectedPage = pagesMap[pageId] }и эмитить только имя страницы из дочерних компонентов this.$emit('gotoPage', 'home')

можешь расширить Vue.prototype и добавить внего goto: this.goto('home')

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

Andrey
30.05.2017
10:30:39
а $emit как я понял позволяет вызывать методы родительского компонента?

Stanislav
30.05.2017
10:31:06
а $emit как я понял позволяет вызывать методы родительского компонента?
эмит слушает события и дергает методы в родителе

ой

че я несу

Rafael
30.05.2017
10:31:28
Stanislav
30.05.2017
10:31:30
эмит отправляет событие

Stanislav
30.05.2017
10:31:33
$emit триггерит методы в атрибутах компонентов, перечисленные через @: <component @gotoPage="changePage">…

а еще не забудь обновлять url при изменении страницы

Google
Stanislav
30.05.2017
10:32:02
и инициализировать нужный компонент, при загрузке

так что появляется еще сервис для HisoryAPI

Stanislav
30.05.2017
10:32:18
И получишь vue-router

Stanislav
30.05.2017
10:32:35
и в pagesMap появляются регулярки для страниц

И получишь vue-router
но очень простой

:D

и свой

что самое главное )

Stanislav
30.05.2017
10:33:14
главное, что свой)

Stanislav
30.05.2017
10:34:12
у него не будет forward & back, он не умеет вложенные роуты, нужно будет подключить qs из npm'а, чтобы красивые параметры в URL писать

но зато свой

вот здесь можешь вдохновится идеями для своего роутера: https://router.vuejs.org/

Stanislav
30.05.2017
10:34:49
вперед назад то же можно через хитори апи разрулить

Но за то свое

сам писал.

Diasko
30.05.2017
10:36:42
В документации не написано что $on ложит callback в кучу, из-за этого пришлось лести в исходники и смотреть почему события выполняются по два раза(

Andrey
30.05.2017
10:37:43
в общем, спасибо всем за помощь, я тут понял, что пытался свой велосипед сделать, когда уже есть плагин роутера :D

Просто я еще думал, что у роутера не получится сделать красиво переходы, но на деле https://router.vuejs.org/en/advanced/transitions.html все предусмотрено

Stanislav
30.05.2017
10:40:24
угу. Про переходы еще можно почитать в основной доке Vue

Dmitry
30.05.2017
11:12:53
кто использовал vue-multiselect? он возвращает объекты, как из ряда объектов достать только один атрибут? к примеру отдал он мне два объекта: { name: 'Vue.js', id: 1 }, { name: 'Adonis', id: 7 }, как мне собрать из каждого только id и положить в одну переменную?

Google
Илья
30.05.2017
11:14:31
привет. не подскажете как передать событие в метод? что то вроде onClicked(event) {event.target} ?

Stanislav
30.05.2017
11:15:08
фронтенд который мы заслужили

Stanislav
30.05.2017
11:15:15
@yourevent="method($event)"

Илья
30.05.2017
11:15:41
спасибо!

Dmitry
30.05.2017
11:18:11
ну это разве не два объекта? [ { name: 'Vue.js', id: 1 }, { name: 'Adonis', id: 7 }, ]

Stanislav
30.05.2017
11:19:13
ну он то тебе один вернет, когда ты веберешь что то

Dmitry
30.05.2017
11:21:30
а как выбрать, если мне к примеру все имена нужны или все айдишники?

Stanislav
30.05.2017
11:22:47
что значит "все" ?

Dmitry
30.05.2017
11:23:34
1 и 7 мне нужно положить в одну переменную. строкой

Stanislav
30.05.2017
11:23:38
А, у тебя множественный выбор?

Dmitry
30.05.2017
11:24:18
да

Dmitry
30.05.2017
11:25:26
как из одного объекта достать мне понятно. а вот как собрать из нескольких я не знаю.

Stanislav
30.05.2017
11:26:28
оно тебе массив возвращает

массив объектов

Dmitry
30.05.2017
11:26:41
ну да

Stanislav
30.05.2017
11:29:07
а тебе что получить надо? массив?

AlexMist
30.05.2017
11:29:45
А в VSCode для однофайловых компонентов что используете ? VETUR ? У меня вроде не работает ((

Google
AlexMist
30.05.2017
11:30:52
да
Без доп настроек заработал ?

Stanislav
30.05.2017
11:30:58
да вроде да

а что не работает?

Dmitry
30.05.2017
11:31:20
мне надо определять принадлежность поста к категории, но пост может пренадлежать сразу к 3, в базу я хочу отнести айдишники категорий, так что думаю да, массив надо

AlexMist
30.05.2017
11:37:31
а что не работает?
Ну например автодополнение в import from '...'

Admin
ERROR: S client not available

Denis
30.05.2017
11:37:44
Подскажите полезные плагины под vscode

Stanislav
30.05.2017
11:37:49
а оно должно там работать?

Denis
30.05.2017
11:37:57
Плиз)

Alex
30.05.2017
11:38:36
Подскажите полезные плагины под vscode
не хочу холиварить, но почему не саблайм?

Stanislav
30.05.2017
11:38:42
Повторю вопрос ибо очень надо: PostCSS Nested или подобное кто нибудь настаивал с Webpack и VueJS?

Alex
30.05.2017
11:39:42
Stanislav
30.05.2017
11:41:20
не хочу холиварить, но почему не саблайм?
там eslint не работает (нормально не работает)

Denis
30.05.2017
11:41:49
не хочу холиварить, но почему не саблайм?
Давно использую саблайм, использовал vscode, пока писал на реакте, очень удобно все было. Когда пересел на вью не получилось удобно настроить vs code и вернулся на саблайм. Вот хочу попробовать снова вижуал

AlexMist
30.05.2017
11:44:24
А Pug использовать есть смысл или с ним запутаться проще ))

Stanislav
30.05.2017
11:46:29
Ходят слухи, что люди в этом чатике пользуются

Konstantin
30.05.2017
11:47:22
А Pug использовать есть смысл или с ним запутаться проще ))
конечно есть, все гораздо наглядней в нем. + он сам компилирует тэги, так что открывающие-закрывающие всегда будут на своих местах

Google
Stanislav
30.05.2017
11:47:54
главное, не ошибиться с отступом))

Konstantin
30.05.2017
11:48:00
подскажите, почему такой огромный размер файла app.js? 2.8 mb как-то черезчур. http://dl3.joxi.net/drive/2017/05/30/0016/3113/1055785/85/eb81680164.jpg

Alex
30.05.2017
11:49:17
главное, не ошибиться с отступом))
точно) Pug кому-то нравится, кому-то нет. Мне не зашёл. И отступы и остальные конструкции помнить надо. Слишком много всего, что надо помнить.

Andrey
30.05.2017
12:10:20
Кто знает, в чем может быть ошибка? [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build. Для сборки компонентов использую gulp + browserify + vuefy + babelify, но вью не хочет запускать компонент и выкидывает ошибку

Igor
30.05.2017
12:11:23
ты когда через vue cli создавал проект

он тебе предлагал выбор

runtime + onbuild compiler

Andrey
30.05.2017
12:12:05
я не через cli создавал)

Igor
30.05.2017
12:12:08
либо runtime only

хм.

Andrey
30.05.2017
12:17:32
больше нет предположений?(

Yaroslav
30.05.2017
12:18:42
А кто какой спиннер использует без без пакетов *uefy?

Alex
30.05.2017
12:19:20
Andrey
30.05.2017
12:19:50
да, по крайней мере пытался, да и сейчас пытаюсь

Stanislav
30.05.2017
12:22:50
ну он тебе написал, что ты не тот билд vue используешь. Вернее, тот, в котором нет компилятора шаблонов

Yaroslav
30.05.2017
12:23:33
дальше сам разберешся?

упс не туда)

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