А это значит, теперь в шаблонах можно использовать полноценный ESNext, включая долгожданную возможность использовать в шаблонах Optional chaining?

|
sevesar 2022-07-01 16:33:52
Привет. Как работать с nuxt i18n когда переводы прилетают с апишек (api/ru / api/en). Помогите пожалуйста а то впервые этот плагин использую?
predvoditelev 2022-07-01 16:36:19
vuejs_ru-1089368.jpg
Вечер пятницы, похоже очень сильно туплю. Vue 3, сделал простейший компонент. Почему не выводится значение переменной?

В консоли чисто

holyVitalijs 2022-07-01 16:43:55
predvoditelev 2022-07-01 16:36:19
Вечер пятницы, похоже очень сильно туплю. Vue 3, сделал простейший компонент. Почему не выводится значение переменной?

В консоли чисто

А если убрать ; после data(){} ‘;’ не причем?

predvoditelev 2022-07-01 16:45:30
holyVitalijs 2022-07-01 16:43:55
А если убрать ; после data(){} ‘;’ не причем?

vuejs_ru-1089370.jpg
ничего не меняется. Я уже взял код из документации. Тоже самое. При клике на кнопку — ошибка.

holyVitalijs 2022-07-01 16:47:01
predvoditelev 2022-07-01 16:45:30
ничего не меняется. Я уже взял код из документации. Тоже самое. При клике на кнопку — ошибка.

А вы как подключали компонент?

predvoditelev 2022-07-01 16:47:46
holyVitalijs 2022-07-01 16:47:01
А вы как подключали компонент?

<template>
<div>
<UsersList/>
</div>
</template>

<script>
import UsersList from ‘./UsersList.vue’;

export default {
data() {
return {};
},
components: {
UsersList,
},
};
</script>

predvoditelev 2022-07-01 16:48:32
Ну и само приложение:

import HomeApp from ‘./home/app.vue’;
createApp(HomeApp).mount(‘#app’);

kotsout 2022-07-01 16:49:51
addEventListener и @input, по сути делает одно и тоже? привязывает коллбэк?
gena1337 2022-07-01 16:56:52
привет. подскажите пожалуйста, есть способ расшарить набор vue 3 компонентов между vue 3 и nuxt 2\3 ?
holyVitalijs 2022-07-01 16:58:09
predvoditelev 2022-07-01 16:45:30
ничего не меняется. Я уже взял код из документации. Тоже самое. При клике на кнопку — ошибка.

А от куда всё остальное на сайте? текст: пользователи и добавить пользователя итд?

zlobinilya 2022-07-01 16:59:51
kotsout 2022-07-01 16:49:51
addEventListener и @input, по сути делает одно и тоже? привязывает коллбэк?

да

zlobinilya 2022-07-01 17:00:03
kotsout 2022-07-01 16:49:51
addEventListener и @input, по сути делает одно и тоже? привязывает коллбэк?

@ сокращенная запись

kotsout 2022-07-01 17:00:56
zlobinilya 2022-07-01 16:59:51
да

спасибо, от сюда вопрос, когда компонент убивается и обработчик на инпут был повешен через @input=»///» vue его удаляет?

predvoditelev 2022-07-01 17:02:04
holyVitalijs 2022-07-01 16:58:09
А от куда всё остальное на сайте? текст: пользователи и добавить пользователя итд?

Решил проблему.

__VUE_OPTIONS_API__ была false 🙂

postrstk 2022-07-01 17:03:46
kotsout 2022-07-01 17:00:56
спасибо, от сюда вопрос, когда компонент убивается и обработчик на инпут был повешен через @input=»///» vue его удаляет?

Да

zlobinilya 2022-07-01 17:03:55
kotsout 2022-07-01 17:00:56
спасибо, от сюда вопрос, когда компонент убивается и обработчик на инпут был повешен через @input=»///» vue его удаляет?

да

kotsout 2022-07-01 17:04:41
postrstk 2022-07-01 17:03:46
Да

в случае если обработчик был повешен через addEventListener, то желательно его удалять в beforeMounted, просто интересует производительность

zlobinilya 2022-07-01 17:04:55
Но это не относится к событиям, которые ты сам вешаешь через addEventListener
zlobinilya 2022-07-01 17:05:12
их нужно самому удалять
zlobinilya 2022-07-01 17:05:45
kotsout 2022-07-01 17:04:41
в случае если обработчик был повешен через addEventListener, то желательно его удалять в beforeMounted, просто интересует производительность

почему именно в beforeMounted)?

kotsout 2022-07-01 17:06:19
zlobinilya 2022-07-01 17:05:45
почему именно в beforeMounted)?

ошибся beforeDestroy

zlobinilya 2022-07-01 17:06:35
kotsout 2022-07-01 17:06:19
ошибся beforeDestroy

ну тут особой разницы нет, когда ты их будешь удалять

MMNN 2022-07-01 17:07:25
vuejs_ru-1089390.jpg

MMNN 2022-07-01 17:07:25
vuejs_ru-1089389.jpg
Всем привет. Есть ли способ во vue 3 для inject свойства прописать типизацию, чтобы typescript не ругался?
(Без использования composition api)
cyberpunk76 2022-07-01 17:26:19
всем привет, ребят как в рендер функцию передавать href для ссылки?
cyberpunk76 2022-07-01 17:26:35
cyberpunk76 2022-07-01 17:26:19
всем привет, ребят как в рендер функцию передавать href для ссылки?

render: (h, row) => {
return h(‘a’, {class: ‘model-link’, href: ‘/’}, row.result);
},

shgkme 2022-07-01 17:30:43
cyberpunk76 2022-07-01 17:26:35
render: (h, row) => {
return h(‘a’, {class: ‘model-link’, href: ‘/’}, row.result);
},

Так должно работать

cyberpunk76 2022-07-01 17:30:58
shgkme 2022-07-01 17:30:43
Так должно работать

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

shgkme 2022-07-01 17:31:05
какой Vue?
shgkme 2022-07-01 17:32:04
cyberpunk76 2022-07-01 17:30:58
неа? не работает

h(‘a’, { class: ‘model-link’, attrs: { href: ‘/’} }, row.result);

cyberpunk76 2022-07-01 17:32:43
shgkme 2022-07-01 17:32:04
h(‘a’, { class: ‘model-link’, attrs: { href: ‘/’} }, row.result);

спасибо

cyberpunk76 2022-07-01 17:32:46
shgkme 2022-07-01 17:31:05
какой Vue?

2

Eugene Oleynikov 2022-07-01 17:40:57
Всем привет. Есть один компонент который я использую vue-select В нем есть slote option. Я обернул этот компонент в свой компонент. Как можно из одного компонента в другой передать slot?
zlobinilya 2022-07-01 17:44:07
Eugene Oleynikov 2022-07-01 17:40:57
Всем привет. Есть один компонент который я использую vue-select В нем есть slote option. Я обернул этот компонент в свой компонент. Как можно из одного компонента в другой передать slot?

Итерироваться по слотам компонента и создавать такие же слоты

zlobinilya 2022-07-01 17:44:15
Щас пример если найду — скину
Eugene Oleynikov 2022-07-01 17:44:41
zlobinilya 2022-07-01 17:44:15
Щас пример если найду — скину

пожалуйста, а то раньше такое не делал

zlobinilya 2022-07-01 17:45:03
Eugene Oleynikov 2022-07-01 17:44:41
пожалуйста, а то раньше такое не делал

vuejs_ru-1089403.jpg
в общем как-то так

2022-07-01 17:46:14
🎉 Сегодня вышел Vue 2.7, мост «двойки в тройку»! 🎉

Планируется, что это будет последняя минорная версия во Vue 2, которая является «мостом» для более простого перехода во Vue 3.

Поддержку Vue 2 обещают до конца 2023.

Добавлено много нового, что уже есть во Vue 3:
— Composition API
— Обновления SFC из Vue 3: script setup и v-bind в стилях

Добавление Composition API означает и добавление необходимой для него функциональности. А значит теперь и во Vue 2 есть реактивность с reactive, ref, computed и другими функциями реактивности. Конечно, ядро реактивности всё также на переопределении полей объекта с геттерами и сеттерами, а также патчинге методов массива. А значит, все ограничения реактивности сохраняются.

В SFC компиляция JS в шаблоне теперь будет работать через обработку JS в сборщике, как во Vue 3. А это значит, теперь в шаблонах можно использовать полноценный ESNext, включая долгожданную возможность использовать в шаблонах Optional chaining ?..

В документации Vue 2 пока ничего об обновлениях нет… Будем ждать.

Подробности:
— Changelog
— Блог

#news

Eugene Oleynikov 2022-07-01 17:48:55
zlobinilya 2022-07-01 17:45:03
в общем как-то так

спасибо

Eugene Oleynikov 2022-07-01 18:00:01
zlobinilya 2022-07-01 17:45:03
в общем как-то так

Это если бы я использовал напрямую компонент
<template v-slot:option=»option»>
<span :class=»option.icon»></span>
{{ option.title }}
</template>
А как вот получить к option доступ если использовать такую вот конструкцию с v-for? Может знаете?

mattersj 2022-07-01 18:02:07
Eugene Oleynikov 2022-07-01 18:00:01
Это если бы я использовал напрямую компонент
<template v-slot:option=»option»>
<span :class=»option.icon»></span>
{{ option.title }}
</template>
А как вот получить к option доступ если использовать такую вот конструкцию с v-for? Может знаете?

если ты говоришь про прокидывание скоупед слотов, то https://t.me/vuejs_ru/945572

Artyom Tuchkov in Vue.js — русскоговорящее сообществоTelegram
<template v-for=“(_, name) in $scopedSlots» #[name]=»scopedData»>
<slot v-if=“name.includes(‘-filter’)” :name=»name» v-bind=»scopedData» />
</template>
htclog1981 2022-07-01 18:06:06
shgkme 2022-07-01 13:57:57
Какая ошибка будет, если сделать обычный импорт?

кстати прокатило. хоть в файле и подсвечено.

Теперь другая пробела

md5Part = new Buffer(md5PartStr, «hex»).toString(«base64»);

Пишет ReferenceError: Buffer is not defined

При том, что в vue 2 норм работало. Без всяких импортов Buffer ..

Eugene Oleynikov 2022-07-01 18:17:31
mattersj 2022-07-01 18:02:07
если ты говоришь про прокидывание скоупед слотов, то https://t.me/vuejs_ru/945572

Property «$scopedSlots» was accessed during render but is not defined on instance Использую vue3

mattersj 2022-07-01 18:20:19
Eugene Oleynikov 2022-07-01 18:17:31
Property «$scopedSlots» was accessed during render but is not defined on instance Использую vue3

для тройки вместо $scopedSlots будет $slots, как и было у тебя, только добавляется scopedData, которая прокидывается в новый <slot>

mattersj 2022-07-01 18:20:38
mattersj 2022-07-01 18:02:07
если ты говоришь про прокидывание скоупед слотов, то https://t.me/vuejs_ru/945572

ну и v-if со слота из сообщения надо убрать, он был специфичный для той задачи

Eugene Oleynikov 2022-07-01 18:22:05
mattersj 2022-07-01 18:20:38
ну и v-if со слота из сообщения надо убрать, он был специфичный для той задачи

с if это я понял. Да работает Спасибо

shgkme 2022-07-01 18:39:09
htclog1981 2022-07-01 18:06:06
кстати прокатило. хоть в файле и подсвечено.

Теперь другая пробела

md5Part = new Buffer(md5PartStr, «hex»).toString(«base64»);

Пишет ReferenceError: Buffer is not defined

При том, что в vue 2 норм работало. Без всяких импортов Buffer ..

В целом могу только повторить, что с версией Vue это связано равно на столько же, на сколько связано с версией jQuery 🙂

Buffer — это nodejs объект… Нужно включать Nodejs полифилы.

@esbuild-plugins/node-globals-polyfill

vite.config.js:

optimizeDeps: {
esbuildOptions: {
plugins: [
NodeGlobalsPolyfillPlugin({
buffer: true
}),

shgkme 2022-07-01 18:39:12
Примерно так
i47uen 2022-07-01 18:43:47
есть кто шарит в nvim и lsp? тайпскрипт нормально прикрутить не могу
htclog1981 2022-07-01 18:46:22
shgkme 2022-07-01 18:39:09
В целом могу только повторить, что с версией Vue это связано равно на столько же, на сколько связано с версией jQuery 🙂

Buffer — это nodejs объект… Нужно включать Nodejs полифилы.

@esbuild-plugins/node-globals-polyfill

vite.config.js:

optimizeDeps: {
esbuildOptions: {
plugins: [
NodeGlobalsPolyfillPlugin({
buffer: true
}),

vuejs_ru-1089418.jpg

|