学习vue笔记

119 阅读1分钟
  1. 遇到判断对象有没有某一属性判断的时候,最初使用的是:
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')