我有javascript和vue.js的问题,它应该很简单但不是,我不明白为什么我不能用javascript设置元素的高度。这是我尝试更改高度后得到的错误 - 未捕获的TypeError:无法读取属性' style'为null
<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>
答案 0 :(得分:1)
created
功能命名为与vuejs lifecycle function
相同。无需在导出之外声明它,将其放在methods
中,如下所示:
methods: {
init: function() {
//code goes here
}
}
document.getElementsByClassName
不会返回节点的实例,因此您无法以这种方式设置样式。你必须先循环所有元素。style
函数中将data
定义为对象,并使用:style="someStyleObject"
mode
中的data
属性,则无法定义<uses-permission android:name="android.permission.INTERNET" />
。