может быть, это тривиальный вопрос.
поэтому, когда я запускаю мое приложение vuejs в браузере с включенной регулировкой скорости загрузки (устанавливается на низкое соединение). Я получил незаконченный вывод синтаксиса vue в браузере.
Я знаю, что мы можем обмануть это, показывая изображение загрузки до загрузки всей страницы, но есть ли лучшее решение, чтобы это исправить?
javascript
vue.js
antoniputra
источник
источник
[v-cloak] { display: none; } <div v-cloak> {{ message }} </div>
это значит, я должен добавитьv-cloak
атрибут в каждый элемент, который я хочу скрыть?App
дивом все должно быть в порядкеv-cloak
должно быть по умолчанию, и если кто-то действительно хотел показать,{{ }}
они должны использовать что-то вродеv-uncloak
.display:none
на существующем HTML, это плохой флаг для SEO. Я думаю, что может быть лучше использовать какое-то наложение до загрузки страницы.Я прикрепил следующий кодекс. Вы можете увидеть разницу с и без
v-cloak
.http://codepen.io/gurghet/pen/PNLQwy
источник
v-cloak
атрибута.Как полагают другие, использование V-Cloak является правильным решением. Однако, как упомянул @ DelightedD0D, это неуклюже. Простое решение , чтобы добавить некоторые CSS в селекторе псевдо
::before
изv-cloak
директивы.В вашем файле sass / less что-то вроде
Конечно, вам нужно указать действительный и доступный путь к загрузчику изображения. Это сделает что-то вроде.
Надеюсь, поможет.
источник
Используя
v-cloak
директиву, вы можете скрыть некомпилированные привязки усов, пока не завершится компиляция экземпляра vue. Вы должны использовать блок CSS, чтобы скрыть его до компиляции.HTML:
CSS:
Это
<div>
не будет видно, пока компиляция не будет завершена.Вы можете увидеть эту ссылку Скрыть элементы во время загрузки, используя
v-cloak
для лучшего занижения.источник
Не включайте синтаксис vuejs в файл HTML:
В вашем основном JavaScript вы можете:
См. Шаблон веб-пакета vuetify для справки.
Другое решение заключается в использовании:
С участием:
источник
Вы можете переместить любой рендеринг в простой компонент- оболочку . Инициализация VueJS, например, new Vue (....) не должна содержать никакого HTML, кроме этого единственного компонента-оболочки.
В зависимости от настроек вы можете даже указать,
<app>Loading...</app>
где app является компонентом-оберткой с любым загружаемым HTML или текстом, который затем заменяется при загрузке.источник
источник
Используйте,
<v-cloak>
чтобы скрыть свой код Vue перед привязкой данных к соответствующим местам. Это на самом деле находится в месте документации Vue, что любой может пропустить его, если вы не будете искать его или читать полностью.источник
Да, вы можете использовать
v-cloak
, мне нравится использовать spinkit , отличная библиотека только с CSS, посмотрите простой пример:Ссылка: - http://tobiasahlin.com/spinkit/
источник
Я предпочитаю использовать
v-if
с вычисляемым свойством, которое проверяет, готовы ли мои данные, например так:Таким образом, легче показать загрузчик, только если данные не готовы (использование
v-else
).В этом конкретном случае также
v-if="variableName"
будет работать, но могут быть более сложные сценарии.источник
Для тех, кто использует v-cloak в представлении с несколькими файлами Laravel Blade, и он не работает, попробуйте использовать v-cloak в родительском файле blade, а не в любом дочернем файле blade.
источник