vue对象的新属性触发响应式变化
1.在template
上绑定的模板变量,必须在data()
里声明并初始化之后,才是响应式的。精确到对象的某个属性,必须声明并初始化
如果是取值并需要添加新属性,此时肯定无法初始化,那么使用Vue.$set
实例方法
向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新 property,因为 Vue 无法探测普通的新增 property
举例:比如我使用element-ui
的树组件,取到了当前select选中的节点对象,我想给这个对象添加一个新属性作为视图层里的一个判断,那么我必须使用Vue.$set
实例方法,普通的字面量赋值是不会触发响应式变化的
涉及到DOM操作的 建议等待渲染完再进行选中
// 等待渲染完再进行选中
this.$nextTick(() => {
this.$refs.newInput.$el.children[0].select();
});
使用项目的.eslintrc.js来进行代码格式化
在vscode里配置setting.json
"eslint.options": {
"configFile": "./.eslintrc.js",
"extensions": [".js", ".vue", ".html"]
},
这一行是配置eslint的文件路径这里为项目路径下的.eslintrc.js
,以及适用eslint的文件类型
"eslint.autoFixOnSave": true,
打开保存自动修复即可