-
遇到判断对象有没有某一属性判断的时候,最初使用的是:
handleEdit(todo)
{
if (todo.hasOwnProperty('isEdit'))
{
todo.isEdit = true
}else{
this.$set(todo,'isEdit',true)
}
}
出现页面报错的情况:报错为
```ERROR in
D:\example\v_study\vue-day10\src\components\MyItem.vue
43:18 error Do not access Object.prototype method 'hasOwnProperty' from target object no-prototype-builtins
查询之后 对命令进行修改 :
handleEdit(todo)
{
if (Object.prototype.hasOwnProperty.call(todo, 'isEdit'))
{
todo.isEdit = true
}else{
this.$set(todo,'isEdit',true)
}
},
错误原因:新版本的ESLint使用了禁止直接调用 Object.prototypes 的内置属性开关,可以发现ESLint 配置文件中的 "extends": "eslint:recommended" 属性启用了此规则。
换成这样的写法就可以啦~~~
Object.prototype.hasOwnProperty.call(obj, 'xxx')
-
webstrom 中加载scss 安装一直失败:
npm install sass-loader node-sass webpack --save-dev
- 更改电脑安全策略 以管理员身份 命令为:
set-ExecutionPolicy RemoteSigned
总结TodoList案例
组件化编码流程:
(1).拆分静态组件:组件要按照功能点拆分,命名不要与html元素冲突。
(2).实现动态组件:考虑好数据的存放位置,数据是一个组件在用,还是一些组件在用:
1).一个组件在用:放在组件自身即可。
2). 一些组件在用:放在他们共同的父组件上(状态提升)。
(3).实现交互:从绑定事件开始。
props适用于:
(1).父组件 ==> 子组件 通信
(2).子组件 ==> 父组件 通信(要求父先给子一个函数)
使用v-model时要切记:v-model绑定的值不能是props传过来的值,因为props是不可以修改的!
props传过来的若是对象类型的值,修改对象中的属性时Vue不会报错,但一般情况下不要去动。
安装全局总线的方法
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
beforeCreate() {
Vue.prototype.$bus = this
}
}).$mount('#app')