Size: a a a

2020 April 15

AZ

Alexander Zinchenko in Svelte [svelt]
типа такого надо. если хочешь точный код, напиши пример в репл, допилим
источник

РБ

Руслан Базяк in Svelte [svelt]
а как мне коды ответа распознать. если код 403, то вернуть ошибку, а если 200, то содержимое data
источник

AZ

Alexander Zinchenko in Svelte [svelt]
let error = null;
 const submit = ({..})=>{
   fetch().then(res=>res.json()).then(data=>{
     userData = data
   })
   .catch(err=>{
     error = err
   })
 }
источник

Г

Георгий in Svelte [svelt]
Руслан Базяк
а как мне коды ответа распознать. если код 403, то вернуть ошибку, а если 200, то содержимое data
res.status
источник

DS

Dmitry Semenov in Svelte [svelt]
Pavel 🦇 Malyshev
зависит от структуры приложения и существующего подхода к работе со сторами. каких-либо ограничений нет. 2 основных варианта, которые я использую:

1) самый простой - проверки в шаблонов, как показано в ридми

2) проверки вне шаблонов, на основе который выставляется дополнительный стейт или стор. удобно использовать с тем же svelte-viewpoint
отлично, спасибо. вот с viewpoint как раз и хочу использовать, чтобы preload еще использовать
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
отлично, спасибо. вот с viewpoint как раз и хочу использовать, чтобы preload еще использовать
тогда что-то вроде можно написать

import Home from '';
import Products from '';

const routes = [{
   path: '/products',
   component: Products
}, {
   path: '/',
   component: Home
}];

import { derived } from 'svelte/store';
import { path } from 'svelte-pathfinder';

export const page = derived(path, $path => {
   for (let route of routes) {
       if ($path.pattern(route.path)) {
           return route.component;
       }
   }
}, null);

<Viewpoint component={$page} />
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
естественно разнести по разным файлам
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
для code-splitting просто сделать component в массиве роутов функцией возвращающий динамический импорт:

{
  path: '/',
  component: () => import('./Home.svelte')
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
ну и настроить сборщик ясное дело
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
об остальном позаботится Viewpoint
источник

DS

Dmitry Semenov in Svelte [svelt]
Pavel 🦇 Malyshev
тогда что-то вроде можно написать

import Home from '';
import Products from '';

const routes = [{
   path: '/products',
   component: Products
}, {
   path: '/',
   component: Home
}];

import { derived } from 'svelte/store';
import { path } from 'svelte-pathfinder';

export const page = derived(path, $path => {
   for (let route of routes) {
       if ($path.pattern(route.path)) {
           return route.component;
       }
   }
}, null);

<Viewpoint component={$page} />
отлично, так сейчас и перепишу. спасибо!
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
отлично, так сейчас и перепишу. спасибо!
как я и говорил в докладе - это просто стейт. крути его как хочешь
источник

РБ

Руслан Базяк in Svelte [svelt]
Alexander Zinchenko
let userData = {}
 const submit = ({..})=>{
   fetch().then(res=>res.json()).then(data=>{
     userData = data
   })
 }
источник

РБ

Руслан Базяк in Svelte [svelt]
пробовал делать fetch без promise, но тогда функция в компоненте ругается
источник

РБ

Руслан Базяк in Svelte [svelt]
а если fetch внутри promise то у меня не получается вернуть resolve()
источник

РБ

Руслан Базяк in Svelte [svelt]
полуичлось
источник

РБ

Руслан Базяк in Svelte [svelt]
я тупил жёстко ))))
источник

РБ

Руслан Базяк in Svelte [svelt]
но я сделал когда fetch внутри promise
а как вы предлагали сделать не получается.
источник

DK

Daniil Khanin in Svelte [svelt]
всем доброго времени суток
могу ли я при создании компонента через new
new Component({
 target: container
})
прокинуть еще chilld component, т.е.
внутри Component у меня есть slot
через шаблон я был сделал бы так
<Component><h1>test</h1></Component>
а как прокинуть в Component дочерний компонент если использовать вызов через new Component ??
источник

DK

Dmitry Kutran in Svelte [svelt]
Daniil Khanin
всем доброго времени суток
могу ли я при создании компонента через new
new Component({
 target: container
})
прокинуть еще chilld component, т.е.
внутри Component у меня есть slot
через шаблон я был сделал бы так
<Component><h1>test</h1></Component>
а как прокинуть в Component дочерний компонент если использовать вызов через new Component ??
Слот по-моему никак, но можно передать компонент и отрендерить через svelte:component
источник