Значок Vuetify не отображается. Альтернативно отображалось пустое поле

Я разрабатываю приложение для социальных сетей, такое как Twitter или Instagram, на платформе laravel. Я добавил в свой проект Vue.js и Vuetify. Когда я использую значок v, он не отображается, но вместо него отображается пустое поле, как показано ниже.

В хроме:

И в Firefox:

Что это? Вот мои коды.

app.js
require(“./bootstrap”);

window.Vue = require(“vue”);

import Vuetify from “vuetify”;
import “vuetify/dist/vuetify.min.css”;
Vue.use(Vuetify);

import “@mdi/font/css/materialdesignicons.css”;

const app = new Vue({
    el: “#app”,
    vuetify: new Vuetify(),
    icons: {
        iconfont: “mdi”
    }
});
home.blade.php
<!doctype html>
<html lang="{{ app()->getLocale() }}">

<head>
    <meta charset="utf-8">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>Home</title>
    <link rel="stylesheet" href="{{ mix('/css/app.css') }}">
</head>

<body>
    <div id="app">
        <v-app>
            <v-content>
                <home-view></home-view>
            </v-content>
        </v-app>
    </div>
    <script src=" {{ mix('js/app.js') }} ">
    </script>
</body>
</html>
home-view.vue
<template>
// some parts are omitted.
~~~~~~
    <span>
        icon:
        <v-btn icon color=“pink”>
        <v-icon>mdi-heart</v-icon>
        </v-btn>
    </span>
~~~~~~
</template>

<script>
~~~~~~~
</script>>

Что с ними не так? Если честно, я с этим столкнулся почти неделю.
Я что-то пробовал, но иногда даже ничего не отображает, а иногда возникала другая проблема. Я только хочу знать, как правильно отобразить значок материального дизайна. Кто-нибудь знает причину этой проблемы или решения? Спасибо.

1 ответ

Шрифт стал настолько большим, что мы не рекомендуем использовать его для веб-проектов. Это вызывает проблемы у мобильных пользователей с ограниченными тарифными планами и значительно сокращает время до первой отрисовки.

Мы рекомендуем вам использовать пакет @ mdi / js и вместо этого отображать значки SVG.

Скажите vuetify, что вы хотите использовать @mdi/js:

export default new Vuetify({
  icons: {
    iconfont: 'mdiSvg',
  },
})

А затем импортируйте только нужные значки:

<template>
  <v-icon>{{ svgPath }}</v-icon>
</template>

<script>
  import { mdiAccount } from '@mdi/js'

  export default {
    data: () => ({
      svgPath: mdiAccount
    }),
  }
</script>

Узнайте больше о документации Vuetify

Другие вопросы по тегам