Как правильно настроить видовое окно для мобильных устройств с помощью Vue и Vuetify? Окно просмотра не подходит для полноэкранного режима телефона

#javascript #html #css #vue.js #vuetify.js

Вопрос:

каждый. У меня есть поведение рендеринга stange с vue vuetify. Когда я использую рутинную работу и меняю размер на рабочем столе, все в порядке. Но когда я использую телефон chrome.Я получил ошибку рендеринга (рендеринг только желтого цвета, а содержимое страницы занимает 30% страницы в верхнем левом углу, но нижний колонтитул отображается нормально) При необходимости могу отправить любой дополнительный код. Как исправить содержимое страницы, чтобы оно соответствовало экрану.

Возможные проблемы с <meta name="viewport" content="width=device-width, initial-scale=1.0">

Когда я использую адаптивные инструменты разработки (chrome или firefox), все в порядке , когда я переключаюсь на какой-нибудь телефон Samsung iPhone, я получаю рендеринг, как на скриншоте ниже.

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

база шахт.код vue

     <template>
  <v-app style="background-color: #EEEEEE">
    <v-container v-if="pageLoading" fluid>
      <v-row align="center" justify="center">
        <dot-loader :loading="pageLoading" color="#0000FF" size="100px"></dot-loader>
      </v-row>
    </v-container>
    <div v-else>
      <Header/>
      <notifications group="global" position="top center"/>
      <v-main class="mt-4">
        <v-container fluid class="mt-0 pt-0">
          <router-view></router-view>
        </v-container>
      </v-main>
      <Footer/>
    </div>
  </v-app>
</template>

<script>

import Header from '@/components/base/Header'
import DotLoader from 'vue-spinner/src/DotLoader.vue'
import { mapGetters } from 'vuex'
import Footer from './components/base/Footer'

export default {
  name: 'Base',
  components: {
    Footer,
    Header,
    DotLoader
  },
  computed: {
    ...mapGetters('base', ['pageLoading'])
  },
  beforeMount () {
    this.$store.commit('base/DRAWER', true)
  }
}
</script>

<style>

</style>
 

Код для рендеринга в маршрутизаторе-просмотр

 <template>
  <v-row>
    <v-col lg="9" md="9" cols="12">
      <v-row>
        <v-col lg="6" md="6" cols="12">
          <v-card :loading="componentLoading" shaped>
            
          </v-card>
        </v-col>
        <v-col lg="6" md="6" cols="12">
          <v-card shaped :loading="componentLoading">
            
          </v-card>
        </v-col>
      </v-row>
    </v-col>
    <v-col lg="3" md="3" cols="12">
      <v-row>
        <v-col>
          <v-card shaped :loading="componentLoading">
            
          </v-card>
        </v-col>
      </v-row>
    </v-col>
  </v-row>
</template>

<script>
import { mapGetters } from 'vuex'
import InstitutionSelect from '@/components/base/InstitutionSelect'
import GradeTeamSelect from '@/components/base/GradeTeamSelect'

export default {
  name: 'StaffDashboard',
  components: { InstitutionSelect, GradeTeamSelect },
  computed: {
    ...mapGetters('base', ['colors', 'componentLoading', 'adminStaff']),
 some other js code not related to display features
}
</script>

<style scoped>

</style>
 

Большое спасибо за помощь.

Комментарии:

1. В чем проблема?

2. Я предполагаю, что вы ожидаете, что «СОДЕРЖИМОЕ СТРАНИЦЫ» поместится на весь экран. Для меня это выглядит как css проблема, не связанная с vue этим .

3. Содержимое страницы отображается не во весь экран телефона, а только в левом верхнем углу. Но нижний колонтитул отображается нормально,

4. Я не использовал css только для сборки функции vuetify. И если я использую тот же размер экрана для рабочего стола chrome/firefox, все в порядке.

5. @Beliaf vuetify использует css. Не могли бы вы предоставить код компонента, который загружен <router-view></router-view> на вашем скриншоте?

Ответ №1:

Я был прав, проблема была в <meta name="viewport"

Для меня помогли настроить next <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> , поэтому я добавил user-scalable=no в окно просмотра.