For the code posted below vue
component it is a child component and is hosted in a specific parent. When I make two ways binding via vModelCheckGeoTIFFOverlayBandAverages
by introducing a change to compPropsVModelCheckGeoTIFFOverlayBandAverages
, the changes
do not get reflected in the parent component.
am I making the binding of the checkbox
worong
code:
<template>
<cds-checkbox id="idCheckboxGeoTIFFOverlayBandAveragesContainer">
<label id="idTextGeoTIFFOverlayBandAverages">{{ tempTextBandAverages }}</label>
<input
type="checkbox"
:value="compPropsVModelCheckGeoTIFFOverlayBandAverages"
@input="$emit('update:compPropsVModelCheckGeoTIFFOverlayBandAverages', $event.target.checked)"
:disabled="isCheckboxGeoTIFFOverlayBandAveragesDisabled"
:checked="compPropsVModelCheckGeoTIFFOverlayBandAverages"
@change="onCheckboxGeoTIFFOverlayBandAveragesChanged"
/>
</cds-checkbox>
</template>
<script>
import { GeoTIFFOverlaySettingsConstants } from '../../../resources/....';
import { StoreOnCheckboxBandAveragesStatusChanged } from '../../../../../...';
let msg = null;
export default {
name: 'SentinelHubGeoTIFFOverlayBand1',
data() {
return {
refStoreOnCheckboxBandAveragesStatusChanged: StoreOnCheckboxBandAveragesStatusChanged,
isCheckboxChecked: false,
tempTextBandAverages: GeoTIFFOverlaySettingsConstants.CONST_STRING_BAND_1_AVERAGES.description,
};
},
components: {},
props: {
isCheckboxGeoTIFFOverlayBandAveragesDisabled: {
type: Boolean,
default: true,
},
vModelCheckGeoTIFFOverlayBandAverages: {
type: Boolean,
default: null,
},
},
emits: {
'update:vModelCheckGeoTIFFOverlayBandAverages':null,
},
computed: {
compPropsVModelCheckGeoTIFFOverlayBandAverages: {
get() {
return this.vModelCheckGeoTIFFOverlayBandAverages;
},
set(value) {
this.$emit('update:vModelCheckGeoTIFFOverlayBandAverages', value);
},
},
},
watch: {
isCheckboxChecked(newVal, oldVal) {
this.compPropsVModelCheckGeoTIFFOverlayBandAverages = newVal;
},
},
methods: {
async onCheckboxGeoTIFFOverlayBandAveragesChanged() {
this.isCheckboxChecked = !this.isCheckboxChecked;
await this.refStoreOnCheckboxBandAveragesStatusChanged.actions.init();
this.refStoreOnCheckboxBandAveragesStatusChanged.setters.set(this.isCheckboxChecked);
},
},
};
</script>
explained above in the question