使用vuejs最近碰到的问题记录

vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用

  • 针对el-table,使用:key="math.random()"来绑定一个不重复的值,这样就可以保证在dom改变的时候,不允许复用,从而达到重新渲染的目的

在vue中使用calc来实时计算数值

由于element框架中嵌套了过多的组件,需要根据不同的屏幕大小来实时计算一些属性

有定义该字段的

  • 例如el-table,本身组件中有定义height的定义方法,可以直接使用变量
1
2
3
data: return {
pageHeight: document.body.scrollHeight
}
1
2
<el-table
:height="this.pageHeight - 420"

没有定义该字段的

  • 一方面可以使用:style={obj}来绑定(我在el-table中尝试了下,来定义table的宽度,但实际情况没有成功,应该是被原生的样式覆盖掉了
  • 定义一个css类,在设置css属性值的时候计算
1
2
3
.table-style {
width: calc(100vw - 300px);
}