Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有动态html的vuejs2动态css_Javascript_Css_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 带有动态html的vuejs2动态css

Javascript 带有动态html的vuejs2动态css,javascript,css,vue.js,vuejs2,Javascript,Css,Vue.js,Vuejs2,我使用的插件创建动态html,我想使用通过道具传递的十六进制来添加动态背景色 这是我的组件中的html <template> <div class="pagination" slot="pagination"></div> </template> 如果我写的话,我显然可以看到模板中的颜色 <template> <div> {{ this.primaryBgColor }} </div> &l

我使用的插件创建动态html,我想使用通过道具传递的十六进制来添加动态
背景色

这是我的组件中的html

<template>
  <div class="pagination" slot="pagination"></div>
</template>
如果我写的话,我显然可以看到模板中的颜色

<template>
  <div>
    {{ this.primaryBgColor }}
  </div>
</template>

{{this.primaryBgColor}
但是,当我在组件中编写样式时

<style>
  .swiper-pagination-bullet {
    background-color: {{ this.primaryBgColor }}
  }
</style>

.swiper分页项目符号{
背景色:{{this.primaryBgColor}}
}

Webpack返回一个错误,表示我有CSS语法错误。有什么想法吗?

在模板中,您可以直接注入样式

<template>
  <div :style="this.primaryBgColor">
    {{ this.primaryBgColor }}
  </div>
</template>

在模板中,可以直接注入样式

<template>
  <div :style="this.primaryBgColor">
    {{ this.primaryBgColor }}
  </div>
</template>

suresh的回答可能不起作用,因为它会侦听安装了Vue的事件,但在安装Vue组件时,插件元素可能尚未被注入

如果插件提供了类似的事件,您可以在那里注册处理程序。如果没有,您可以使用来监听外部dom元素

<template>
  <div id="outer">
  </div>
</template>
<script>
    const observer = new MutationObserver(mutations => {
       // suresh's function here
    });
    observer.observe(document.getElementById('outer'), { childList: true });
</script>

常量观察者=新的突变观察者(突变=>{
//这里的suresh函数
});
observer.observe(document.getElementById('outer'),{childList:true});

suresh的回答可能不起作用,因为它会侦听Vue挂载事件,但在Vue组件挂载时,插件元素可能尚未被注入

如果插件提供了类似的事件,您可以在那里注册处理程序。如果没有,您可以使用来监听外部dom元素

<template>
  <div id="outer">
  </div>
</template>
<script>
    const observer = new MutationObserver(mutations => {
       // suresh's function here
    });
    observer.observe(document.getElementById('outer'), { childList: true });
</script>

常量观察者=新的突变观察者(突变=>{
//这里的suresh函数
});
observer.observe(document.getElementById('outer'),{childList:true});

我还没有看到任何支持基于JS动态生成CSS类的框架。这听起来并不是一个好的做法。在我看来,只要简单地应用内联样式就可以了,这在这样的框架环境中是完全有效的,特别是对于这样的动态着色内容。我会添加内联样式,但是HTML不存在于模板文件中,因为它是由插件注入的。“我很想在组件中编写一个样式,但我一直无法让它工作”。有什么不起作用?如果您可以编写
{{this.primaryBgColor}
并让它输出您的颜色,为什么在
样式
标记中用类名包装它时它会破裂?@EdmundReed webpack无法插入变量。它说我的CSS包含语法错误。我还没有看到任何支持基于JS动态生成CSS类的框架。这听起来甚至不像是一个好的pPractice。在我看来,只需应用内联样式就可以了,在这样的框架环境中,特别是对于这样的动态着色内容,内联样式是完全有效的。我会添加内联样式,但HTML不存在于模板文件中,因为它是由插件注入的。”我很想在组件中编写一个样式,但我一直无法让它工作”。有什么不起作用?如果你能编写
{{this.primaryBgColor}
并让它输出您的颜色,为什么在
样式
标记中用类名包装它时它会断开?@EdmundReed webpack无法插入变量。它说我的CSS包含语法错误。感谢您的回答,但是,我需要将CSS应用于span元素,而不是div。我没有访问span元素的权限s在我的模板文件中,因为它们是由插件注入的。更新了我的答案,请检查itAwesome,明天我将首先测试它。谢谢你的回答,但是,我需要应用于span元素的CSS,而不是div。我无法访问模板文件中的span元素,因为它们是由插件注入的。更新了我的答案回答,检查一下。我明天第一件事就是测试一下。
<template>
  <div id="outer">
  </div>
</template>
<script>
    const observer = new MutationObserver(mutations => {
       // suresh's function here
    });
    observer.observe(document.getElementById('outer'), { childList: true });
</script>