Можно ли каким-либо образом обнаружить наблюдаемые изменения?
Например, скажем, у вас есть это:
@observable myObject = [{id: 1, name: 'apples'}, {id: 2, name: 'banana' }]
А позже, при некотором вводе пользователя, значения меняются. Как я могу легко это обнаружить?
Я хочу добавить глобальную кнопку «сохранить», но сделать ее доступной для нажатия только в том случае, если эта наблюдаемая изменилась с момента начальной загрузки.
Мое текущее решение - добавить еще один наблюдаемый myObjectChanged
, который возвращает true / false, и везде, где компонент изменяет данные в myObject, я также добавляю строку, которая изменяет myObjectChanged на true. И если нажать кнопку сохранения, он сохраняет и изменяет эту наблюдаемую обратно на false.
Это приводит к тому, что повсюду разбросано множество дополнительных строк кода. Есть ли способ сделать это лучше / чище?
computed
,observe
,spy
илиautorun
в зависимости от уровня детализации, который вам нужен в вашем наблюдении. Вот простой пример грязной проверки формы с помощьюcomputed
github.com/mobxjs/mobx/issues / 164 - person m0meni   schedule 12.10.2016