1. vue 组件化编码流程:
(1)拆分静态组件:按照功能点拆分,命名不要与html元素冲突;
(2) 实现动态组件:考虑好数据的存放位置:
- 一个组件在用:放在组件自身即可
- 一些组件在用:放在共同的父组件上
2. props适用于:
(1)父组件==>子组件(传值)
(2)父组件==>子组件(传函数)
3. v-model不能绑定props传过来的值,因为props传过来的值不能修改
4. props传过来的若是对象类型的值,修改对象中的属性时Vue不会报错,因为只是对象中的值变了,地址没有变。但不推荐这样做
5. computed属性中的值简写时只能被读取不能被修改,需要修改时必须写成set和get形式
6. 如果需要在已经创建好的数据对象中添加属性时,不能直接利用等号创建,否则添加的属性不再vue监测范围内,无法更新,展示在页面上。需要使用$set方法创建。
例如:已经创建好 todos列表,其中每一项是一个对象。
data(){
return {
todos:[
{id:'001',title:'eat',done:true},
{id:'002',title:'play',done:false},
{id:'003',title:'study',done:true},
]
}
},
后续需要给每一项添加新属性“isFlag”,不能直接使用todos.isFlag=true
应该使用this.$set(todos,'isFlag',true)
7. 跨域问题可以有三种解决方式:
- cors 需要后端配置,缺点:配置后任何人都能向服务器请求数据
- jsonp 前后端都需要配置,借助script src属性,引入外部资源不受同源策略限制,只能解决get请求跨域问题
- 配置代理服务器
持续更新中~~