Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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 如何在vue组件中的createElement之后应用css样式? 创造 导出默认值{ 方法:{ 创建(){ 设e=document.createElement('input'); e、 添加('input-test'); e、 setAttribute('type','text'); e、 setAttribute('value','test'); document.getElementById('body').appendChild(e); } } } .输入测试{ 颜色:红色; }_Javascript_Css_Vue.js_Components - Fatal编程技术网

Javascript 如何在vue组件中的createElement之后应用css样式? 创造 导出默认值{ 方法:{ 创建(){ 设e=document.createElement('input'); e、 添加('input-test'); e、 setAttribute('type','text'); e、 setAttribute('value','test'); document.getElementById('body').appendChild(e); } } } .输入测试{ 颜色:红色; }

Javascript 如何在vue组件中的createElement之后应用css样式? 创造 导出默认值{ 方法:{ 创建(){ 设e=document.createElement('input'); e、 添加('input-test'); e、 setAttribute('type','text'); e、 setAttribute('value','test'); document.getElementById('body').appendChild(e); } } } .输入测试{ 颜色:红色; },javascript,css,vue.js,components,Javascript,Css,Vue.js,Components,我试过这个密码。但并没有应用输入测试样式。 为什么不能应用于元素? 当我删除样式标记处的作用域时,它会起作用。如果您查看vue如何处理样式作用域,您将看到所有元素都会获得一个作用域标识符,该标识符将添加到您的作用域css中。任何新创建的元素都不会被vue传输,因此它不会获得所需的作用域标识符 如果只希望在单击按钮时显示元素,则应将其添加到dom中,并仅在单击时使用深度选择器解决的v-IfI显示它 <template> <div id="body"> <

我试过这个密码。但并没有应用输入测试样式。 为什么不能应用于元素?
当我删除样式标记处的作用域时,它会起作用。

如果您查看vue如何处理样式作用域,您将看到所有元素都会获得一个作用域标识符,该标识符将添加到您的作用域css中。任何新创建的元素都不会被vue传输,因此它不会获得所需的作用域标识符

如果只希望在单击按钮时显示元素,则应将其添加到dom中,并仅在单击时使用深度选择器解决的
v-If
I显示它

<template>
  <div id="body">
    <button type="button" @click="create">Create</button>
  </div>
</template>
<script>
  export default {
    methods: {
      create () {
        let e = document.createElement('input');
        e.classList.add('input-test');
        e.setAttribute('type', 'text');
        e.setAttribute('value', 'test');
        document.getElementById('body').appendChild(e);
      }
    }
  }
</script>
<style scoped>
.input-test {
  color: red;
}
</style>