делаться будет?
Когда false стоит то любое присвоение объекта/массива или функции сразу инвалидируется и запускает update cycle. И хотя DOM с большей вероятностью лишние обновления не получит, но реактивные выражения и обновление пропров сработают. Если true, тогда это произойдёт только если строгое сравнение покажет что ссылка изменилась
Павел, привет, а есть ли способ не меняя ссылку на объект сказать свелту что надо заинвалидировать переменную? Может есть в internal какая-то доступная функция для этого, аля $$invalidate? some = some; не триггерит изменения. В internal нашел только валидацию слотов, аргументов, но это всё про компонент, а не его внутреннее состояние.
Если immutable: false то some = some должен триггерить даже если ссылка не поменялась
Вот, например, не триггерится.
я же четко написал Если immutable: false
Да, сорян, проглядел, но вопрос был именно про принудительно подсказать о том что переменная изменилась. Как я понимаю это в режиме immutable:true нереализуемо, так?
принудительно при мутации это some = some, но очевидно же если ты мутируешь объекты, то immutable: true тебе не нужен. получается ты пытаешься соврать свелту, типа “я использую только иммутабильность”, а сам за его спиной наяриваешь мутации и при этом хочешь, чтобы все работало 🙃
Агаг 😛 Я хочу в виде исключений мутировать что-то, а в остальном дать ему полное управление, не хотелось на весь компонент вешать опцию immutable:false.
По статистике 99% разработчиков наяривают мутации и только 5% из них открыто признаются в этом XD
она висит по умолчанию) обычно с таких случаях мутируют внутрянку объекта, а потом один раз создают новую ссылку: obj.foo = 1; obj.bar.baz = 2; … obj = { …obj };
Ты так говоришь как будто мутации это плохо. Спредить на любое чихание — вот это действительно плохо.
Я люблю мутации, я из тех 5% :)
Я прост не запаривался до того момента пока не словил лишние реактивные вычисления на сквозном bind (через компоненты), вчера вопрос задавал, включил для всего проекта immutable:true, в итоге всего несколько мест проблемных нашлось, в остальном всё иммутабельно оказалось 🙂
Обсуждают сегодня