Vue中JS与SCSS共享变量

Shared variables between JS and SCSS in Vue

我最近开始使用Vue.js 2,我是单文件组件结构的粉丝:

<template>
  <h1>Hello World</h1>
</template>


<script>
export default {
  name: 'hello-world',
};
</script>


<style scoped lang="scss">
h1 {
  font-size: 72px;
}
</style>

不过,我很好奇是否存在在 SCSS 和 JS 之间传递变量的既定方法。我需要共享一个值,现在它在两个部分中都是重复的。

我使用 Vue CLI 创建了这个项目,所以它使用 vue-loader 与 Webpack 2 捆绑在一起。我希望有一种方法可以将它配置为从 JS 到 SCSS 填充变量,反之亦然。

您的问题将受益于更多的细节。您需要多彻底的集成?这将允许您创建一个 JSON 文件并将这些值作为 SCSS 变量以及 JS(显然)。

https://github.com/Updater/node-sass-json-importer

如果您想要更简单的东西,您还可以使用 :style 创建内联样式。这样它就会是动态的。

所以像这样:

<div :style="{ height: heightInPixels }">...</div>

这是一个快速演示:https://jsfiddle.net/4s25kca2/

这真的取决于您的确切需求。