【问题标题】:Color theme change in Vuetify not workingVuetify 中的颜色主题更改不起作用
【发布时间】:2018-09-23 03:49:24
【问题描述】:

我正在使用带有 vuetify 的 vuejs,我放置了一个基本的 vuetify 模板并尝试更改颜色主题,但颜色不会切换。我的控制台中没有任何错误,并且我的缓存也被清除了。

main.js 代码:

import Vue from 'vue';
import Vuetify from 'vuetify';
import 'vuetify/dist/vuetify.min.css';
import colors from 'vuetify/es5/util/colors';

Vue.use(Vuetify, {
  theme: {
    primary: colors.indigo.base, // #E53935
    secondary: colors.indigo.base, // #FFCDD2
    accent: colors.indigo.base // #3F51B5
  }
});

const app = new Vue({
    el: '#app',
    // ...
});

这就是我的模板的样子。

    <div id="app">
  <v-app light>
    <v-navigation-drawer
      fixed
      v-model="drawerRight"
      right
      clipped
      app
    >
    </v-navigation-drawer>
    <v-toolbar
      dark
      fixed
      app
      clipped-right
    >
      <v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
      <v-spacer></v-spacer>
      <v-toolbar-side-icon @click.stop="drawerRight = !drawerRight"></v-toolbar-side-icon>
    </v-toolbar>
    <v-content>
      <v-container fluid fill-height>
        <v-layout justify-center align-center>

        </v-layout>
      </v-container>
    </v-content>
  </v-app>
    </div>

【问题讨论】:

  • 您的vuetify 版本?
  • @Traxo 版本是 1.0.14
  • 您正在导入缩小的 css,您应该导入手写笔文件。尝试使用@import '~vuetify/src/stylus/main'
  • @DigitalDrifter 不起作用 那么 app.js 文件的外观如何?

标签: javascript vue.js vuejs2 vuetify.js


【解决方案1】:

在我的情况下,我必须将所有组件包装在 v-app 中

<div id="id">
  <v-app>
// youre code here
  </v-app>
</div>

如果您不这样做,您的应用程序将使用默认主题。

reference from vuetify docs:

“在 Vuetify 中,v-app 组件和 v-navigation-drawer、v-app-bar、v-footer 等组件上的 app 属性有助于引导您的应用程序以适当的组件大小调整。这允许您可以创建真正独特的界面,而无需管理布局大小。所有应用程序都需要 v-app 组件。这是许多 Vuetify 组件和功能的挂载点,并确保它传播默认的应用程序变体(dark/ light) 到子组件,并确保对 Safari 等浏览器中的某些点击事件提供适当的跨浏览器支持。v-app 只能在您的应用程序中使用一次。"

【讨论】:

  • 感谢工作人员,但由于大小和默认背景,它仍然修改了 v-app 容器
【解决方案2】:

颜色不会切换

什么颜色?您没有任何使用主题颜色的组件。例如,如果您想更改工具栏的背景颜色,您必须这样做&lt;v-toolbar color="primary"&gt;

【讨论】:

    【解决方案3】:

    @DigitalDrifter 建议@import '~vuetify/src/stylus/main'

    但是,这是手写笔代码。 因此,您可以创建例如stylus 文件夹并将main.styl 放在该文件夹中,建议您可以轻松更改默认样式。

    将该代码添加到main.styl

    // main.styl
    @import '~vuetify/src/stylus/main'
    

    然后在您的app.js 中包含main.styl

    // app.js
    import './stylus/main.styl'
    

    如果您稍后想要覆盖 Vuetify 内部的默认触控笔变量(在 main.styl 中进行),那么您的变量必须在 @import 之前声明,然后它们将自动覆盖 Vuetify 默认变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-27
      • 2021-03-11
      • 2020-08-29
      • 2020-12-30
      • 2020-04-19
      • 1970-01-01
      • 2021-03-01
      • 2020-02-09
      相关资源
      最近更新 更多