最近我收到了来自 SegmentFault思否社区的采访邀约。非常荣幸让我有机会讲述自己的成长经历、分享我的经验和见解,并为那些也在这个行业奋斗的人提供一些有价值的建议。
今天这篇采访文章已经上线了大家可以移步观看 🔗 思否有约|陟上晴明:人生没有白走的路,每一步都算数
v-model
仅仅只是v-bind:value="value"
和@input="value = $event.target.value"
的语法糖吗?
一直以来我都喜欢在Vue中声明对象变量的时候给变量赋值一个空对象,而不是把所有的属性值一起声明好。
比如说:
// vue2.x form demo
export default {
data() {
return {
// 我喜欢这样声明
formData: {},
// 而不是这样在声明时把所有的属性一起书写好
formData: {
username: '',
password: ''
}
}
}
}
也可以从我之前关于 props
属性的笔记中察觉到 👉 Vue中接收没有声明的Prop属性[null/undefined]的接收问题
因为我在写业务的时候如果 props
的属性值不存在,传入的会是一个 undefined
而不是 null
或者 ''
这样的预设。因为我期望使用组件 props
中声明的默认值,而不是在外部预设的空值。
所以一直以来我都在和小伙伴交流的时候也是推荐直接给变量一个空对象即可,除了一些数组属性需要单独声明。
但前段时间一位小伙伴向我提问:他在组件生命周期函数中给表单属性赋值了一个预设值,后续再使用 v-model
对表单属性修改时发现丢失了响应……