Требуется разработать компонент CounterButton – кнопку счётчик, значение которой увеличивается на 1 по клику.
Единственный входной параметр компонента: count, значение счётчика (число, по умолчанию 0);
Компонент выводит кнопку с текущим значением счётчика;
При клике компонент порождает событие обновления параметра count директивой v-model со значением на 1 больше текущего
export default defineComponent({
name: 'CounterButton',
// Компонент должен иметь входной параметр и порождать событие
props: ['count'],
template: `<button type="button" :count="counter">1</button>`,
data() {
return {
count: 0
}
},
methods: {
counter() {
count += 1
}
}
});
App.js
import { defineComponent } from './vendor/vue.esm-browser.js';
import CounterButton from './CounterButton.js';
export default defineComponent({
name: 'App',
components: {
CounterButton,
},
data() {
return {
count: undefined,
};
},
template: `
<div class="sample container">
<p>count = {{ count }}</p>
<p>
<CounterButton :count="count" @update:count="count = $event" />
</p>
<p>
<CounterButton v-model:count="count"></CounterButton>
</p>
<p>
<CounterButton v-model:count="count"></CounterButton>
</p>
</div>
`,
});