Не работает потому, что работать нечему - вы не используете
v-model
. Документацию, судя по показанной чуши, вы вообще не читали (максимум, одним глазом глянули её пересказ каким-нибудь дегенератом на youtube'е). Это зря. Документацию читать надо. Вот прямо сейчас откройте и почитайте. Ну а пока читаете, исправим ваш говнокод.
В родительском компоненте заменить
model="global"
на
v-model="global"
.
В дочернем, добавить:
model: {
prop: 'model',
},
computed: {
checked() {
return this.model === this.value;
},
},
а шаблон пусть будет такой:
<label :class="{ labelActive: checked }">
<input type="radio" :checked="checked" @input="$emit('input', value)">
{{ value }}
</label>