识记
1、在Vue中使用Echarts(el-dialog中出现后台undefined错误)
2、openLayers3中文文档:地图信息系统
3、组件内守卫
4、可以自定义画区域的经纬度(会生成json文件):可以将从其它地方得到的区域json数据复制到右侧的JSON输入区域,会显示出对应地图
5、下属行政区查询,省、市、区县的json文件(精确到省市区县,没有乡镇街道)
6、省市区地图,精确度同5,有在线json文件地址,json、svg、excel导出
7、关于vue的组件通信之busEvent(事件总线):
可以在入口文件main.js里面:
Vue.prototype.$bus = new Vue()
,后面在其他组件中就可以使用this.$bus
来调用事件总线,这里是全局引入。
this.$bus.$on('congbo',() => {})
事件的注册
this.$bus.$emit('congbo')
事件的触发
也可以在组件文件夹里面添加一个
bus.js
文件,如:
import Vue from 'vue'
export const $bus = new Vue()
或者export default const $bus = new Vue()
这样在.vue
文件中引入:import { $bus } from './bus.js'
,如果是第二种,{}
就不需要了
$bus.$on('congbo',() => {})
事件的注册
$bus.$emit('congbo')
事件的触发
8、用 proxy
拦截
let obj = {name: '李志聪',age: 18};
let proxy = new Proxy(obj,{ // 用 proxy去代理 obj
get (x,y,z) { // 三个默认参数x、y、z
// console.log('触发了get方法');
// console.log(x);
// console.log(y);
// console.log(z);
return x[y]
},
set (x,y,z) {
console.log('触发了set方法');
console.log(x);
console.log(y);
console.log(z);
x[y] = z
}
})
// 当打印obj里面存在的元素时,就会触发get方法
// 当打印里面没有的方法,即添加时,就会触发set方法
console.log(proxy.name)
proxy.age = 20
console.log(obj);
9、 用Object.getOwnPropertyDescriptor()
查看描述和Object.defineProperty()
修改描述
如:
let obj = {name: 'lzc',age: 18};
这里也可以改为数组
console.log(Object.getOwnPropertyDescriptor(obj,'name'))
// 这里主要是查看以下属性
configurable: true //是否可以删除
enumerable: true // 是否可以枚举,用 for in 能够遍历的即为可枚举的属性
value: "lzc" // 对象obj的键name的键值
writable: true // 是否可以修改
// 修改上述属性,以达到相应目的
Object.defineProperty(obj,'name',{
configurable: true //是否可以删除
enumerable: true // 是否可以枚举
value: "lzc" // 对象obj的键name的键值
writable: false // 是否可以修改,这里改为不可修改
})
// 那么当 obj.name = 'congbo'时,就不会起作用,修改不了
`defineProperty`里面也有类似8里面的get和set方法,这是ES5里面的方法
10、模拟数据 mock.js
mockjs语法介绍
mock文档