(1)字体用相对单位比较好,比如 0.875rem去替换14px
(2)vue的使用事件修饰符防止冒泡事件的点击事件: @click.stop=”xxx”
(3)vue-element-admin路由想不缓存,在router/index.js中不设置name属性就可以,一般都会缓存组件,表单数据不进行缓存,vue暂不支持
name:’router-name’ the name is used by (must set),这会导致路由页面的组件数据被缓存
(4)【重点】为什么vue组件没有随着数据更新值
场景:在使用element-ui的table时自己写了一个插槽slot,封装了一个提示文字的组件,发现搜索和分页时自定义的组件渲染的数据还是第一次渲染的数据
解决方案:组件传值,如果父组件的值会变化,那最好通过watch实现父组件的值实时赋值给子组件,也可以双向数据绑定,如下
watch: {
adxContent(newVal, oldVal) { //监听子组件变化,把变化发送给父组件
this.$emit(‘update:content’, newVal);
},
content(newVal, oldVal) { //监听父组件的变化,并把变化发给子组件
this.adxContent= newVal;
},
},