1.Computed中get 和set
只有当computed监测的值变化的时候,set才回被调用;
当你读取一个变量的时候会触发该变量的getter;
<el-form-item label="服务保证:">
<el-checkbox-group v-model="selectServiceList">
<el-checkbox :label="1">无忧退货</el-checkbox>
<el-checkbox :label="2">快速退款</el-checkbox>
<el-checkbox :label="3">免费包邮</el-checkbox>
</el-checkbox-group>
</el-form-item>
computed: {
//选中的服务保证
selectServiceList: {
get() {
let list = [];
if (this.value.serviceIds === undefined || this.value.serviceIds == null || this.value.serviceIds === '') return list;
let ids = this.value.serviceIds.split(',');
for (let i = 0; i < ids.length; i++) {
list.push(Number(ids[i]));
}
debugger
return list;
},
set(newValue) {
let serviceIds = '';
debugger
if (newValue != null && newValue.length > 0) {
for (let i = 0; i < newValue.length; i++) {
serviceIds += newValue[i] + ',';
}
if (serviceIds.endsWith(',')) {
serviceIds = serviceIds.substr(0, serviceIds.length - 1)
}
this.value.serviceIds = serviceIds;
} else {
this.value.serviceIds = null;
}
}
}
}
2.父子组件的值传递
父组件:
<template>
<A :is-edit='false' ref="aRef"></A>
</template>
<script>
import A from './components/A'
export default {
name: 'B',
components: { A}
}
</script>
<style>
</style>
子组件:
一:子组件配置prop直接获取:
//子
props: {
isEdit: {
type: Boolean,
default: false
}
},
二:父组件值传递:
//父
var isEdit = false;
this.$refs['maps'].locate(isEdit);