Есть ли возможность во vue 3 получить ref элемента из дочернего компонента в родительский?

|
McNeelone 2022-07-03 17:42:02
Всем привет. Есть ли возможность во vue 3 получить ref элемента из дочернего компонента в родительский?
kentforth 2022-07-03 17:42:27
не понимаю что сложного в том,чтобы напистаь роутинг по доке, прописываешь роут в файле routes.js и все
zlobinilya 2022-07-03 17:43:01
McNeelone 2022-07-03 17:42:02
Всем привет. Есть ли возможность во vue 3 получить ref элемента из дочернего компонента в родительский?

На компонент реф вешаешь и доступны все его приколы

webben 2022-07-03 18:09:23
zlobinilya 2022-07-03 17:43:01
На компонент реф вешаешь и доступны все его приколы

во вью 3 доступны только те приколы, которые указаны в expose

vanarok 2022-07-03 18:10:19
<img :src=»user.data.avatar || ‘./assets/profile-page/avatar.gif'»/>
не получается установить картинку таким способом, что не так? Vue 2.6, user.data.avatar — null
sevesar 2022-07-03 18:12:21
vanarok 2022-07-03 18:10:19
<img :src=»user.data.avatar || ‘./assets/profile-page/avatar.gif'»/>
не получается установить картинку таким способом, что не так? Vue 2.6, user.data.avatar — null

require(url)

kentforth 2022-07-03 18:14:10
vanarok 2022-07-03 18:10:19
<img :src=»user.data.avatar || ‘./assets/profile-page/avatar.gif'»/>
не получается установить картинку таким способом, что не так? Vue 2.6, user.data.avatar — null

также можно попробовать создать computed сворйство, там получать из user, и этот computed указатть в src в img

shgkme 2022-07-03 18:17:19
vanarok 2022-07-03 18:10:19
<img :src=»user.data.avatar || ‘./assets/profile-page/avatar.gif'»/>
не получается установить картинку таким способом, что не так? Vue 2.6, user.data.avatar — null

Строка ‘./assets/profile-page/avatar.gif’ работает только на этапе сборки, это путь до исходного файла.

нужно импоритровать модуль:
require(‘./assets/profile-page/avatar.gif’)

shgkme 2022-07-03 18:17:59
webben 2022-07-03 18:09:23
во вью 3 доступны только те приколы, которые указаны в expose

Если expose не указывать, и не использовать sfc setup, то будет поведение, как в двойке

sevesar 2022-07-03 18:23:15
vuejs_ru-1090157.jpg
Пытаюсь внедрить пререндеринг, скопировал из доки и вставил но вот это получаю, (vue 3, vite)
zlobinilya 2022-07-03 18:26:06
sevesar 2022-07-03 18:23:15
Пытаюсь внедрить пререндеринг, скопировал из доки и вставил но вот это получаю, (vue 3, vite)

запускаешь код через serve?

sevesar 2022-07-03 18:26:12
zlobinilya 2022-07-03 18:26:06
запускаешь код через serve?

dev

zlobinilya 2022-07-03 18:26:46
через http server запусти и глянь
sevesar 2022-07-03 18:28:42
zlobinilya 2022-07-03 18:26:46
через http server запусти и глянь

а это как, не подскажите?)

volleybob17 2022-07-03 18:30:45
Салют ребят, нужен хелп. У меня получаетс на страничке есть скролл компонент, и нужно когда сайт <max width 800 px экран, чтобы страничка становилась overflow-hidden, но есть ньюанс, потому что там два таба, и когда переключается на второй, то опять overflow : auto становился, два таба меняются по хештегу #main — #dashboard
Laurel 2022-07-03 18:46:13
vuejs_ru-1090164.jpg
Ребят, помогите пожалyйста oбмeнять юcдт на бнб, вот мой адрec нa траcт валетe : hotel mutual wild ugly wheat pencil tip purity cement hockey sun pencil
iamvelixyz 2022-07-03 18:47:18
Laurel 2022-07-03 18:46:13
Ребят, помогите пожалyйста oбмeнять юcдт на бнб, вот мой адрec нa траcт валетe : hotel mutual wild ugly wheat pencil tip purity cement hockey sun pencil

Забаньте, скам

kentforth 2022-07-03 18:48:26
volleybob17 2022-07-03 18:30:45
Салют ребят, нужен хелп. У меня получаетс на страничке есть скролл компонент, и нужно когда сайт <max width 800 px экран, чтобы страничка становилась overflow-hidden, но есть ньюанс, потому что там два таба, и когда переключается на второй, то опять overflow : auto становился, два таба меняются по хештегу #main — #dashboard

добавь первому табу один класс, другому другой класс, у второго overflow: auto

moyustimov 2022-07-03 18:55:10
RemiZOffAlex 2022-07-03 16:53:33
Вообще есть два распространённых протокола: OAuth 2 и OpenID. Реализуй оба и будет тебе счастье

Знакомо? Просто эта ошибка вылезает, а ответов нет, и я не понимаю, как её убрать…

https://skr.sh/vEk9apxvIHG

Видео 03-07-2022 18:50:57.mp4skrinshoter.ru
Снято с помощью Скриншотер.рф
amyrchelokov 2022-07-03 19:13:09
не подскажете. пробовал написать простенький запрос к серверу. но долго грузятся данные.хотел еще сделать.чтобы пока грузились данные лодаре работал.
const loadDynamicTable = (pageSize:any, nodeId: any) => {
if (props.selectedNode.type !== ‘group’) {
TableDataService.fetchTableData(1, pageSize, nodeId)
.then((response) => {
loading.value = true
receivedData.value = {…response.data}
})
.then(()=> {
handleTableData()
})
.then(()=> {
loading.value = false
})
.catch((err) => {
Promise.reject(err)
console.log(err, ‘error’)
})
}
}
amyrchelokov 2022-07-03 19:13:25
можно ли так вообще писать?в ассинхронности не силен
rakhimov_sardorbek_01 2022-07-03 19:16:11
amyrchelokov 2022-07-03 19:13:09
не подскажете. пробовал написать простенький запрос к серверу. но долго грузятся данные.хотел еще сделать.чтобы пока грузились данные лодаре работал.
const loadDynamicTable = (pageSize:any, nodeId: any) => {
if (props.selectedNode.type !== ‘group’) {
TableDataService.fetchTableData(1, pageSize, nodeId)
.then((response) => {
loading.value = true
receivedData.value = {…response.data}
})
.then(()=> {
handleTableData()
})
.then(()=> {
loading.value = false
})
.catch((err) => {
Promise.reject(err)
console.log(err, ‘error’)
})
}
}

Обернуть в try catch с async await

rakhimov_sardorbek_01 2022-07-03 19:17:13
amyrchelokov 2022-07-03 19:13:09
не подскажете. пробовал написать простенький запрос к серверу. но долго грузятся данные.хотел еще сделать.чтобы пока грузились данные лодаре работал.
const loadDynamicTable = (pageSize:any, nodeId: any) => {
if (props.selectedNode.type !== ‘group’) {
TableDataService.fetchTableData(1, pageSize, nodeId)
.then((response) => {
loading.value = true
receivedData.value = {…response.data}
})
.then(()=> {
handleTableData()
})
.then(()=> {
loading.value = false
})
.catch((err) => {
Promise.reject(err)
console.log(err, ‘error’)
})
}
}

Если честно я не понял проблему

Tertiadecima 2022-07-03 19:22:22
подскажи пожалуйста по Vuelidate. бьёт ошибку «Cannot read properties of undefined (reading ‘super’)», вроде подключаю всё по документации
Alexey Topunov 2022-07-03 19:29:55
Всем привет! Почему при изменении coef не меняется объект values?
Alexey Topunov 2022-07-03 19:29:56
vuejs_ru-1090183.jpg

Alexey Topunov 2022-07-03 19:29:56
vuejs_ru-1090182.jpg

mattersj 2022-07-03 19:31:27
Alexey Topunov 2022-07-03 19:29:56

потому в values юзается только начальное значение пропса

Alexey Topunov 2022-07-03 19:31:40
mattersj 2022-07-03 19:31:27
потому в values юзается только начальное значение пропса

А как связать? Через ref?

mattersj 2022-07-03 19:34:06
Alexey Topunov 2022-07-03 19:31:40
А как связать? Через ref?

либо через toRef, либо вместо reactive использовать computed, если данные не нужно менять

Alexey Topunov 2022-07-03 19:34:28
mattersj 2022-07-03 19:34:06
либо через toRef, либо вместо reactive использовать computed, если данные не нужно менять

Спасибо👌

amyrchelokov 2022-07-03 19:34:40
не подскажете как очистить ref массив во вью 3?
mattersj 2022-07-03 19:34:59
amyrchelokov 2022-07-03 19:34:40
не подскажете как очистить ref массив во вью 3?

name.value = [];

holyVitalijs 2022-07-03 19:42:35
Подскажите что делать с routes/index.js файлом ?
Делаю подобно как тут: https://vueschool.io/lessons/the-scaffolded-codebase-vue-cli-only
Но как то не работает routing;
Есть подозрения что routes/index.js нужно куда то подключить и что то может в таком случае отключить, например index.html? Подскажите кто знает? )
anarcho_techno 2022-07-03 19:44:53
коллеги, всем привет
подскажите — кто-то работал в связке nuxt3 web3?
sound_goodizer 2022-07-03 19:45:12
holyVitalijs 2022-07-03 19:42:35
Подскажите что делать с routes/index.js файлом ?
Делаю подобно как тут: https://vueschool.io/lessons/the-scaffolded-codebase-vue-cli-only
Но как то не работает routing;
Есть подозрения что routes/index.js нужно куда то подключить и что то может в таком случае отключить, например index.html? Подскажите кто знает? )

vuejs_ru-1090193.jpg
привет. я не смотрел видео, но делаю так:

sound_goodizer 2022-07-03 19:45:33
vuejs_ru-1090194.jpg

holyVitalijs 2022-07-03 19:46:56
sound_goodizer 2022-07-03 19:45:12
привет. я не смотрел видео, но делаю так:

Там router/index.js выглядит так:
import { createRouter, createWebHistory } from «vue-router»;
import Home from «../views/Home.vue»;

const routes = [
{
path: «/»,
name: «Home»,
component: Home,
},
{
path: «/about»,
name: «About»,
component: () =>
import(/* webPackChunkName: «about» */ «../views/About.vue»),
},
];
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes,
});
export default router;

sound_goodizer 2022-07-03 19:48:04
ну хорошо. потом в main.js:
app.use(router)
holyVitalijs 2022-07-03 19:54:43
Чего та не так
holyVitalijs 2022-07-03 19:56:47
А что с этим делать: import { createRouter, createWebHistory } from «vue-router»; ?
в ./router/index.js находится.
volleybob17 2022-07-03 20:02:45
kentforth 2022-07-03 18:48:26
добавь первому табу один класс, другому другой класс, у второго overflow: auto

к табу не работает, но вот в консоли к document работает

kentforth 2022-07-03 20:03:27
volleybob17 2022-07-03 20:02:45
к табу не работает, но вот в консоли к document работает

.parent-class {
.tab-second {
}

anarcho_techno 2022-07-03 20:04:33
holyVitalijs 2022-07-03 19:54:43
Чего та не так

а что не так?
с импортом ничего не надо делать — он нужен для последующего создания экземпляра роутера

holyVitalijs 2022-07-03 20:05:16
holyVitalijs 2022-07-03 19:46:56
Там router/index.js выглядит так:
import { createRouter, createWebHistory } from «vue-router»;
import Home from «../views/Home.vue»;

const routes = [
{
path: «/»,
name: «Home»,
component: Home,
},
{
path: «/about»,
name: «About»,
component: () =>
import(/* webPackChunkName: «about» */ «../views/About.vue»),
},
];
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes,
});
export default router;

Пробую в index.js закомментировать import { createRouter, createWebHistory } from «vue-router»;
и в main.js сделать:
import { createApp } from ‘vue’
import App from ‘./App.vue’

import { createPinia } from ‘pinia’
const pinia = createPinia()

import { createRouter, createWebHistory } from «vue-router»;
const router1 = createRouter()
const router2 = createWebHistory()

const app = createApp(App)

app.use(pinia)

app.use(router1)
app.use(router2)

app.mount(‘#app’)
Но так не запускаетс тоже.

cruelwarrior 2022-07-03 20:06:19
import router from «./router.js»; или import router from «./router»; если ts или import router from «./router/index.js»;
cruelwarrior 2022-07-03 20:06:42
в зависимости от того, в каком файле объявлен раутер, затем в созданном приложении app.use(router)
cruelwarrior 2022-07-03 20:08:49
holyVitalijs 2022-07-03 20:05:16
Пробую в index.js закомментировать import { createRouter, createWebHistory } from «vue-router»;
и в main.js сделать:
import { createApp } from ‘vue’
import App from ‘./App.vue’

import { createPinia } from ‘pinia’
const pinia = createPinia()

import { createRouter, createWebHistory } from «vue-router»;
const router1 = createRouter()
const router2 = createWebHistory()

const app = createApp(App)

app.use(pinia)

app.use(router1)
app.use(router2)

app.mount(‘#app’)
Но так не запускаетс тоже.

это лишнее, уже объявлено выше

cruelwarrior 2022-07-03 20:09:42
holyVitalijs 2022-07-03 19:46:56
Там router/index.js выглядит так:
import { createRouter, createWebHistory } from «vue-router»;
import Home from «../views/Home.vue»;

const routes = [
{
path: «/»,
name: «Home»,
component: Home,
},
{
path: «/about»,
name: «About»,
component: () =>
import(/* webPackChunkName: «about» */ «../views/About.vue»),
},
];
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes,
});
export default router;

вот это в файле router/index.js, теперь import router from «./router/index.js»;

holyVitalijs 2022-07-03 20:10:44
Благодарю! Уже лучше. Сейчас еще не много и заработает полноценно ! )
|