Size: a a a

2020 November 09

AP

Alexander Ponomarev in Svelte [svelt]
звучит так что качественных модулей на свелте никогда не появится)
источник

DK

Dan Kozlov in Svelte [svelt]
Misha Zamkevich
Я имел ввиду id как селектор, а не как id внутри логики.

И всё равно эту задачу можно решить без id

https://svelte.dev/repl/a51bb73e88fe495c947d161db4f55788?version=3.29.4
Да вариантов еще миллион. Можно было бы твой пример упростить, избавиться от биндинга, поставить const module = {} и дальше сравнивать по ссылке. Это всё так или иначе сравнение по id в моём понимании, просто в моём примере сравнение явное, а в твоём — нет. Я по питону привык, что explicit is better than implicit, поэтому предпочитаю явные механизмы :)
источник

MZ

Misha Zamkevich in Svelte [svelt]
Alexander Ponomarev
кстати ещё один кейс насчёт подключения svelte файлов как исходников. У стороннего свелт модуля может быть  свой постцсс конфиг а у вашего проекта свой, но при подключении стороннего модуля вы будете собирать его своим конфигом?
Да, это косяк. Может я соберусь и добью свой PR в препроцессор, который как раз решает эту проблему.
источник

MZ

Misha Zamkevich in Svelte [svelt]
Dan Kozlov
Да вариантов еще миллион. Можно было бы твой пример упростить, избавиться от биндинга, поставить const module = {} и дальше сравнивать по ссылке. Это всё так или иначе сравнение по id в моём понимании, просто в моём примере сравнение явное, а в твоём — нет. Я по питону привык, что explicit is better than implicit, поэтому предпочитаю явные механизмы :)
👍
источник

AP

Alexander Ponomarev in Svelte [svelt]
Misha Zamkevich
Да, это косяк. Может я соберусь и добью свой PR в препроцессор, который как раз решает эту проблему.
а у тебя с пагом нет проблем? когда импортишь сторонний модуль он не пытается его как написанный на паге интерпретировать?
источник

AP

Alexander Ponomarev in Svelte [svelt]
а там явно надо писать <template lang="pug"> видимо нет проблем
источник

MZ

Misha Zamkevich in Svelte [svelt]
Alexander Ponomarev
а там явно надо писать <template lang="pug"> видимо нет проблем
У меня проблемы, когда я в проект с sugarss пытаюсь запихнуть модуль с обычным css.
источник

MZ

Misha Zamkevich in Svelte [svelt]
Но это давно было, я уже не припомню почему конкретно.
источник

MZ

Misha Zamkevich in Svelte [svelt]
А, вспомнил, — потому, что парсер стилей это отдельная опция в препроцессоре и он ставиться глобально для всех стилей.
источник

MZ

Misha Zamkevich in Svelte [svelt]
Собственно по этому я и начал писать ПР который решает эту проблему. Собственно он закончен на 95%, нужно только один баг закрыть. Ну и слить теперь всё )))
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Dan Kozlov
https://svelte.dev/repl/4e78e33b80fe42ad81a7d59f26900fdf?version=3.29.4

Я вот так делаю обычно.
У меня 2-3 места в проекте, где использую. Конкретный пример: есть список карточек, по клику карточка раскрывается в форму редактирования. Надо обеспечить, чтобы только одна карточка была раскрыта в форму. Можно, конечно, утащить стейт в родителя, но мне нравится модульный контекст тем, что связанную с компонентом логику можно держать в компоненте.
Может лучше тоже в модульном контексте let id = 1, и инкрементировать его на каждом новом инстансе вместо рандома ?
источник

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
Может лучше тоже в модульном контексте let id = 1, и инкрементировать его на каждом новом инстансе вместо рандома ?
Не понял идею.
Модульный контекст нереактивен, поэтому изменения от одного компонента другим не передадутся.
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Вместо id = Math.random()

id = contextId++
источник

КС

Кирилл Спасибович... in Svelte [svelt]
А контексте contextId = 1
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Идея классная, чтобы родителя не засирать
источник

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
А контексте contextId = 1
Так модульный контекст не реактивный. Как тогглить?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Dan Kozlov
Так модульный контекст не реактивный. Как тогглить?
Это просто как row_id в sql, указатель на активный id по-прежнему в сторе
источник

A

Alexey in Svelte [svelt]
Ребят, есть вопрос по svelte+typescript
Как определить тип данных в переменной стора?

Как делаю сейчас не фурычит:
    import { team, events } from '../../store'
   interface event {
       name: string,
       date: string,
   }
   interface events {
       started:Array<event>,
       planned:Array<event>,
       ended:Array<event>
   }

   $events:events
источник

IF

Igor Filippov in Svelte [svelt]
Описать стор? Writable<Foo>
источник

A

Alexey in Svelte [svelt]
Igor Filippov
Описать стор? Writable<Foo>
А если ситуация в сторе сейчас такая:
import { writable } from 'svelte/store';

export let user = writable(null)

export let team = writable(null)

export let events = writable({ started: [], planned: [], ended: [] })

export let error = writable(null)

Нужно на каждую переменную свой файл стора делать?
источник