【问题标题】:Not all CSS functioning in Vuetify with Vue.js and WebpackVue.js 和 Webpack 并非所有 CSS 都能在 Vuetify 中运行
【发布时间】:2018-05-23 07:31:44
【问题描述】:

我怀疑这与我未能正确提取用于 vuetify 的 JS 文件有关,但我没有设法深入了解任何错误。 Vuetify 的一些 CSS 功能(例如列表突出显示事件)似乎在我的应用程序中不起作用,我正在尝试将 Vuetify 与 Vue.js 和 Webpack 一起使用。

我试图实现的例子是default navigation drawer.

在我的实现中,将鼠标悬停在列表项上不会触发背景颜色更改或光标类型更改。

我的代码:

Main.js

import Vue from 'vue'
import App from './App'
import router from './router'
import Vuetify from 'vuetify'
import vuetify_css from 'vuetify/dist/vuetify.min.css';

Vue.use(Vuetify)

new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})

App.vue

<template>
  <div id="app">
    <v-app>
      <navigation></navigation>
      <v-toolbar app></v-toolbar>
      <v-content>
        <v-container fluid>
          <router-view></router-view>
        </v-container>
      </v-content>
      <v-footer app></v-footer>
    </v-app>
  </div>
</template>

<script>
import Navigation from '@/views/Navigation'

export default {
  name: 'app',
  components: {Navigation},
}
</script>

<style>
</style>

Navigation.js

<template>
   <v-navigation-drawer app permanent light>
    <v-toolbar flat>
      <v-list>
        <v-list-tile>
          <v-list-tile-title class="title">
            Application
          </v-list-tile-title>
        </v-list-tile>
      </v-list>
    </v-toolbar>
    <v-divider></v-divider>
    <v-list dense class="pt-0">
      <v-list-tile v-for="item in items" :key="item.title" >
        <v-list-tile-content>
          <v-list-tile-title>{{ item.title }}</v-list-tile-title>
        </v-list-tile-content>
      </v-list-tile>
    </v-list>
  </v-navigation-drawer>
</template>

<script>
export default {
  data () {
    return {
        items: [
          { title: 'Home', },
          { title: 'About', }
        ]
    }
  }
}
</script>

<style scoped>
</style>

奇怪的是我可以看到整个 Vuetify css 文件被 webpack 作为样式标签正确注入,而且我认为我没有用任何自定义样式覆盖(因为我没有!)

要让 Vuetify 样式正常工作,我缺少什么?

(删除了一些无关代码,如果您需要查看更多我的项目文件/代码,请告诉我)

【问题讨论】:

    标签: javascript css webpack vue.js vuetify.js


    【解决方案1】:

    问题是您没有为任何鼠标事件添加处理程序。尝试只添加一个空:

    <v-list dense class="pt-0">
      <v-list-tile v-for="item in items" :key="item.title" @click="">
        <v-list-tile-content>
          <v-list-tile-title>{{ item.title }}</v-list-tile-title>
        </v-list-tile-content>
      </v-list-tile>
    </v-list>
    

    【讨论】:

    • 是的,解决了它。出于好奇,怎么会?
    • @komali_2 你的意思是“怎么来”? ))
    • 哈哈,看看源代码,我不明白为什么 CSS 响应依赖于 @click 的存在。我是 Vue 的新手,多年来一直在骨干网工作。
    • now 你也可以使用link 属性来代替空的@click
    • 这很奇怪,而且没有正确记录,浪费了 1 个小时。 :(
    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 2012-06-25
    • 2017-03-26
    相关资源
    最近更新 更多