vue.md 1.4 KB

参照官方风格指南,语法注释遵循 JS 规范。

Prop 名大小写

在声明 prop 的时候,其命名应该始终使用 camelCase,而在模板和 JSX 中应该始终使用 kebab-case。

props: {
  greetingText: String
}

<empty-tip greeting-text="hi"/>

多个 attribute 的元素

小于三个属性,长度清晰时可以一行。

大于三个属性,进行分行。

# 小于三个属性,长度清晰时可以一行。
<my-component foo="a" bar="b" baz="c"/>

# 大于三个属性,进行分行
<my-component
  foo="a"
  bar="b"
  content="b"
  baz="c"
/>

清除定时器或者事件监听

由于项目中有些页面难免会碰到需要定时器或者事件监听。

但是在离开当前页面的时候,定时器如果不及时合理地清除,会造成业务逻辑混乱甚至应用卡死的情况,这个时就需要清除定时器事件监听,即在页面卸载(关闭)的生命周期函数里,清除定时器。

methods:{
  resizeFun () {
    this.tableHeight = window.innerHeight - document.getElementById('table').offsetTop - 128
  },
  setTimer() {
    this.timer = setInterval(() => { })
  },
  clearTimer() {
		clearInterval(this.timer)
    this.timer = null
	}
},
mounted() {
  this.setTimer()
  window.addEventListener('resize', this.resizeFun)
},
beforeDestroy() {
  window.removeEventListener('resize', this.resizeFun)
  this.clearTimer()
}