Почему он не знает такого же содержания?

Я создал пример приложения в svelte и sapper с одним и тем же пользовательским интерфейсом и выяснил, что контент выглядит по-разному:

Изящный введите здесь описание изображения

Саппер введите здесь описание изображения

Я проверил css, но отличий быть не должно.
Код из https://gitlab.com/oceanstack/ui5-sapper и https://gitlab.com/oceanstack/ui5-svelte


person softshipper    schedule 18.03.2020    source источник


Ответы (1)


Проблема в том, что ваш HTML не тот.

Svelte:

<ui5-label id="myLabel" for="myInput" required show-colon="">First name</ui5-label>

Сапер:

<ui5-label id="myLabel" for="myInput" show-colon="">First name</ui5-label>

Обратите внимание, что у Svelte есть атрибут required, а у Sapper его нет.

Если вы войдете в инструменты разработки браузера на странице Sapper и добавите атрибут required к метке, вы заметите, что внезапно многоточие исчезнет и ваши метки будут совпадать.

person Braintapper    schedule 18.03.2020
comment
Я изменил его, и он должен быть таким же. Что мне нужно сделать, чтобы получить тот же интерфейс, что и в svelte? Я новичок в саперном мире. - person softshipper; 18.03.2020
comment
Если ваш код одинаков в обоих, они должны быть идентичны. Вопрос, который вы должны задать себе, заключается в том, нужен ли вам вообще Sapper вообще. - person Braintapper; 18.03.2020
comment
Мне нужен сапер из-за роутинга. Код остался прежним, но пользовательский интерфейс изменился. Почему? - person softshipper; 18.03.2020
comment
Не могли бы вы скачать его и попробовать, и тогда вы увидите разницу. - person softshipper; 18.03.2020
comment
Имейте в виду, что Sapper - не единственный вариант маршрутизации. Для Svelte доступны и другие варианты маршрутизации. Если у вас нет более конкретной потребности в Sapper, вам, возможно, лучше подойдет что-то более простое, например svelte-spa-router. Я предполагаю, что из-за того, что вы не знаете, как определить разницу (используйте функцию Inspect Element вашего браузера на обоих, и вы увидите различия CSS), мне подсказывает, что вы, возможно, не готовы использовать Sapper. - person Braintapper; 18.03.2020
comment
Вы абсолютно правы. Кстати, почему он не рендерится должным образом, это ошибка. Тебе стоит попробовать. Sapper некорректно отображает - person softshipper; 18.03.2020
comment
Вам нужно посмотреть HTML в инспекторе. Вы увидите, что required не прошел до обработанного HTML. Это потому, что вы не присвоили ему истинное или ложное значение, т.е. required={true}. Используя Sapper, вы добавляете уровень сложности, к которому вы, возможно, не готовы. Я думаю, вам следует придерживаться чистого Svelte, пока вы не поймете, что такое Sapper. - person Braintapper; 18.03.2020
comment
Ошибка возникает в гидратации Svelte, открыл сообщение об ошибке: github.com/sveltejs/svelte/issues / 4579 - person Tan Li Hau; 20.03.2020
comment
А пока вы можете прислушаться к совету @Braintapper, добавив required={true}. вместо того, чтобы просто required он находится в HTML-коде, отображаемом на сервере, если вы попытаетесь отключить JavaScript в своем браузере, вы должны его увидеть. он был удален, когда js сработал и удалил его. - person Tan Li Hau; 20.03.2020