У меня есть простой компонент, который принимает значение prop и показывает текстовое поле для его редактирования. Если число ниже нуля , я хочу, чтобы оно было просто ноль , если текст удален из текстового поля, я хочу, чтобы оно было ноль . В моем emit
событии я вижу, что выдает правильное значение, оно просто не отражается в самом текстовом поле.
У меня есть ссылка для скрипты здесь , но основные частиздесь перечислены ниже:
<div id="app">
<test-component v-model="foo"></test-component>
</div>
const TestComponent = {
props: ['value'],
template: `<div>{{value}}
<input type="number" :value="value" @input="update($event.target.value)" />
</div>`,
methods: {
update(value) {
this.$emit("input", value <= 0 ? 0 : value)
}
}
}
new Vue({
el: "#app",
components: {
'test-component': TestComponent
},
data: {
foo: 1
},
})
В основном происходит то, что я вижу, что мое событие отправляется со значением 0, но, как вы видите, {{value}} отражает то, чтов опоре однако напечатанное значение в самом textfield
само по себе пустое (или меньше нуля)
Здесь определенно есть что-то фундаментальное, что я неправильно понимаю, я подумал, что:ценность должна отражать реальность, но, очевидно, нет. Любая помощь ценится!