калл типо modelValue, может на это были причины и притом очень веские?
Чет я запутался. А по твоему делается two way binding?
А кал в чём заключается? В концепции one-way dataflow и не мутации входных параметров?
ты, наверное, не понял, о чем я написал как ты работаешь с кастомным v-model в своих компонентах?
возможно ты меня не так понял, мне нравится встроенный приемщик пропсов :3
допустим, пишешь ты свой компонент, который является оберткой над дефолтным инпутом как ты реализуешь поведение v-model в этом компоненте, чтобы можно было снаружи писать <MyInputWrapper v-model=“asd” />
Короче vue 3 умеет set get
Справедливости ради, большой толк в этом есть только при обёртке чекбокса обычно. В остальных v-model скорее мешает
мне в узком специализированном месте с textArea оч помог watchEffect
Да отличие только опшион апи и композишн.
В рамках этого вопроса - без разницы
а почему нет толка, например, с обычным текстовым инпутом? computed с сеттером даст тебе возможность написать на нативном инпуте что-то вроде v-model.trim=“computedWithSetter”, тогда как без него ты будешь вынужден это писать ручками
watchEffect это очень магический метод. Как он следит за теми переменными, которые вызываются внутри функции?
watchEffect - это в основном про сайдэффекты и его использование обычно упирается в очень узкие кейсы
С одной стороны - да. С другой - ты уже не можешь динамически определять эти модификаторы, например, lazy делать по условию. + нельзя будет делать динамический компонент на переключение input/textarea. При этом код выч свойства с гетером и сетером больше, чем разбить v-model
точно так же, как следят вычисляемые свойства и рендер функция
во всяком случае не такой прожорливый как обычный watch
тоже верно, но обычно в “тупой” обертке над инпутом ни первое, ни второе не требуется по крайней мере у меня input и textarea всегда находятся в разных компонентах
Там очень все странно. Даже console.log(someVar) заставляют следить за переменной someVar. Соответственно если у тебя внутри в функции какие-то условия. То не факт что будет эффект
Даже в тупой обёртке на гет/сет computed тратится больше кода и строк, чем на решение без v-model. То есть плюсы/минусы одинаковые примерно. Вот на чекбоксе - большая разница
>При этом код выч свойства с гетером и сетером больше, чем разбить v-model во vue 3 это выглядит чуть лаконичнее, чем во vue 2, но в целом согласен, кода получается несколько больше но я лично всегда отдаю предпочтение computed с сеттером ввиду того, что шаблон будет гораздо более читабельным
Всё также работает, как с вычисляемыми свойствами и рендером, и в целом также, как во Vue 2, если в тонкости не уходить. При выполнении функции Vue запоминает, где геттеры дёргались
Обсуждают сегодня