【问题标题】:Use .scss color variables in vue component在 vue 组件中使用 .scss 颜色变量
【发布时间】:2020-07-18 01:30:54
【问题描述】:

我可以为按钮创建一个 scss 类并在那里设置颜色,但是当 scss 类所做的只是设置颜色时,这似乎是额外的工作。我的问题是我可以在组件中以某种方式设置颜色而不必为组件创建和设置一个类吗?

//my scss variables. They are in a _variables.scss file.
$t_light: #efefed;
$primary: #61B4C6;
$med_primary: #354063;
$dk_primary: #222f34;
$info: #647373;
$success: #52b173;
$warning: #d0a03b;
$danger: #f44336;

//something like this. This is in the Login.vue file.
<v-btn
    color="primary"
    @click="submit">Login
</v-btn>

编辑 网页包

const mix = require('laravel-mix');
const path = require('path');

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css')
    .webpackConfig({
        output: { chunkFilename: 'js/[name].js?id=[chunkhash]' },
        resolve: {
            alias: {
                vue$: 'vue/dist/vue.runtime.esm.js',
                '@': path.resolve('resources/js'),
            },
        },
    })
    .babelConfig({
        plugins: ['@babel/plugin-syntax-dynamic-import'],
    })
    .version();

【问题讨论】:

    标签: javascript vue.js sass vuejs2 vuetify.js


    【解决方案1】:

    基于这个article你需要导出sass变量如下

    $t_light: #efefed;
    $primary: #61B4C6;
    $med_primary: #354063;
    $dk_primary: #222f34;
    $info: #647373;
    $success: #52b173;
    $warning: #d0a03b;
    $danger: #f44336;
    
    :export{
    tLight:$t_light,;
    primary:$primary;
    ....
    }
    

    然后将 Sass 文件 (variables.scss) 文件导入 JavaScript,让您可以访问文件中定义的变量。

     import variables from './variables.scss';
    

    在数据属性中添加变量为:

    data(){
      return{
        variables
      };
    }
    

    模板

    <v-btn
        :color="variables.primary"
        @click="submit">Login
    </v-btn>
    

    【讨论】:

    • 我的 webpack 看起来不像那个,因为我也在使用 Inertia-vue,我将在问题中添加代码,我不确定我将把文章中的内容放在哪里。跨度>
    • 关于 javascript 的文章,但您可以将其改编为 Vue 代码
    • :export没有webpack配置是不行的,我也不知道放哪里
    • 你把它放在你定义变量的 .scss 文件中,但是你应该配置你的 webpack
    • 这就是我要说的,但我不知道在哪里添加 webpack 中所需的代码,我在上面的问题中添加了我的 webpack 中的内容
    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 2020-03-29
    • 1970-01-01
    • 2021-02-28
    • 2020-12-23
    • 1970-01-01
    • 2020-03-21
    • 2022-10-06
    相关资源
    最近更新 更多