Vue.js和javascript不起作用

Vue.js和javascript不起作用,vue.js,Vue.js,我对javascript和vue.js有一个问题,它应该很简单,但事实并非如此,我不明白为什么我不能用javascript设置元素的高度。在尝试更改高度-未捕获的TypeError后,出现了一个错误:无法读取null的属性“style” <template> <div class="Icontent" id="Icontent" v-bind:mode="this.mode">Content {{this.mode}} </div> </template

我对javascript和vue.js有一个问题,它应该很简单,但事实并非如此,我不明白为什么我不能用javascript设置元素的高度。在尝试更改高度-未捕获的TypeError后,出现了一个错误:无法读取null的属性“style”

<template>
<div class="Icontent" id="Icontent" v-bind:mode="this.mode">Content {{this.mode}} </div>
</template>

<script>
    export default {
      name: "Icontent",
      props:['mode'],
      created:function(){
          created(this);
      },
      data:function(){
        return{
           mode:this.mode
        }
      }
    }

    function created(component){
        //document.getElementsByClassName('Icontent').style.height = 100;
        //document.getElementById('Icontent').setAttribute("style","height:" + 100);

    }
</script>

<style scoped>
.Icontent{
  position: fixed;
  top: 40px;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 2px #09f;
}

.Icontent[mode="mobile"]{
  top: 0;
}
</style>
不要将创建的函数命名为与vuejs生命周期函数相同的函数。 无需在导出之外声明,请将其放置在方法中,如下所示:

方法:{ init:函数{ //代码在这里 } }

document.getElementsByClassName不返回节点的实例,因此不能以这种方式设置样式。您必须首先循环所有元素。 您可以将样式定义为数据函数中的对象,并使用:style=someStyleObject将其绑定到元素 如果数据也是属性,则不能在其中定义模式。 检查你的控制台,你会有错误。
使用mounted而不是created,并且通常不在JavaScript中选择元素。您应该更改状态数据,然后直接在模板中使用状态。在样式设置的情况下,您可以添加一个具有以下属性的类:class=。然后,用不同的类为元素设置样式。您可以在文档中找到Vue的详细生命周期图。模板创建后尚未呈现,但仅在装载后呈现:感谢replay 1。我不确定什么是生命周期2。明白了3。这是我的问题,为什么它不起作用?我不想做循环,我想改变高度。4.明白了5.明白了6.我的控制台一直是红色的:@VadimKorolov有一个。3.因为选择器是错误的,并且您还有其他错误,这些错误首先会阻止代码执行。你可以使用document.getElementById,一旦你解决了其他问题,它就会工作。我想我明白了什么是生命周期,我必须使用挂载函数来获取DOM元素,谢谢!