169 похожих чатов

``` Data: (): State => ({ highlightClass: '', isCollapsed:

false
}),

setup (props) {
watch(props.payload, (next, prev) => {
this.highlightClass = prev.priceUsd > next.priceUsd ? 'negative' : 'positive'
})
},
```

как мне внутри watch обновить стейт? такой код выдает ошибку TypeError: Cannot set property 'highlightClass' of undefined

14 ответов

13 просмотров

не нужно юзать стрелочную функцию, если ты хочешь иметь доступ к this а еще лучше не мешать Composition API и Options API, а то получится каша

Danil-Chekalin Автор вопроса
Artyom Tuchkov
не нужно юзать стрелочную функцию, если ты хочешь ...

можно пожулайста пример правильного кода для этого кейса?

Danil Chekalin
можно пожулайста пример правильного кода для этого...

если ты хочешь юзать Options API, то убери сетап и вынеси вотчер отдельно data: () => …. watch: { payload(next, prev) { this.highlightClass = … } },

Danil-Chekalin Автор вопроса
Artyom Tuchkov
если ты хочешь юзать Options API, то убери сетап и...

такой пробовал, почему-то в next и prev объекты одинаковые 🤷

Artyom Tuchkov
не нужно юзать стрелочную функцию, если ты хочешь ...

А я как-то посидел, подумал, и не вижу чего-то криминального в смешивании. Описывать компоненты просто в Composition API может быть неудобно. Если он не разделяется на части, то вместо структурированного Options получается большая каша из кода в одной огромной функции setup. Composition нужен для некоторых отдельных задач. Когда надо подключить какие-то компосаблы, или для конкретных компонентов. Переводить весь компонент, написанный на Options в Composition из-за подключения одного маленького компосабла по мне не очень интересно. Как и писать в целом все-все компоненты в Composition, если мы используем где-то хотя бы один компосабл

Danil Chekalin
такой пробовал, почему-то в next и prev объекты од...

Они не могут быть одинаковые. Отслеживание во Vue не срабатывает, если значение изменилось на такое же, как было

Grigorii K. Shartsev
А я как-то посидел, подумал, и не вижу чего-то кри...

на самом деле наоборот, как по мне, в сетапе гораздо удобнее структурировать всю логику в одном месте, а если компонент большой, то это можно разнести по composable’ам с Options постоянно получается так, что функционал разнесен по разным участкам компонента и нужно туда-сюда скроллить, у меня это постоянно вызывало душевную боль в последнем проекте я перешел на тройку и юзаю исключительно Composition API, сейчас у меня где-то 200+ компонентов, написанных на нем, среди которых есть и огромные, и крошечные, - и все прям супер удобно, не сравнить с Options API

Artyom Tuchkov
на самом деле наоборот, как по мне, в сетапе гораз...

Ну не знаю. Мне структурирование видеть отдельно блоки с состоянием, отдельно вычисления, отдельно отслеживание, отдельно методы и т.д. в заранее определённом порядке, чем всё в одной простыне кода) А разделять компонент на части актуально, если эти части или имеют смысл сами по себе, или если компонент очень большой, и имеет у себя подзадачи

Grigorii K. Shartsev
Ну не знаю. Мне структурирование видеть отдельно б...

у меня часто получается так, что есть несколько каких-то связанных частей в компоненте, которые можно удобно структурировать даже без composable’ов сначала идет одна часть, у которой свои вотчеры, свои компьютед, свои данные, а ниже - другая, у которой все свое по такой структуре очень легко ориентироваться и вся логика как на ладони

Danil Chekalin
такой пробовал, почему-то в next и prev объекты од...

потому что vue тебе отдает в prev и next одну и ту же копию объекта, он не клонирует его за тебя

Artyom Tuchkov
у меня часто получается так, что есть несколько ка...

> сначала идет одна часть, у которой свои вотчеры, свои компьютед, свои данные, а ниже - другая А между ними граница есть?

Artyom Tuchkov
граница в каком смысле?)

Ну, выглядит это всё, как большая куча кода, или явно видно, вот первая часть, а вот другая?

Grigorii K. Shartsev
Ну, выглядит это всё, как большая куча кода, или я...

логически можно понять по названиям переменных + всегда есть пробел между этими частями, который помогает глазами уловить, что тут идет уже что-то другое обычно такие компоненты не очень большие по объему, поэтому разделять такие части - вообще не проблема все большие компоненты разносятся по composable’ам, а маленькие редко превышают 200 строк (вместе со стилями и шаблоном)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта