Чё-то смеюсь - собственно кода тут нет ни строчки... То есть, вы вообще ничего не можете. А может тогда ну его, это программирование? Зачем себя мучить, пытаясь заниматься вещами, к которым нет способностей?
Вы ошибаетесь. Малокомпетентные особи homo sapiens (spiens ли? - не уверен), безосновательно обвиняющие свой инструмент в том, что он чего-то там не может, бесили меня всегда.
Что значит "не срабатывает"? Кнопка не отключается после повторного запроса данных? Какие могу предложить варианты:
1. Отключайте наблюдение на время запроса.
2. Ваш пример из комментария к вопросу - чтобы сброс переменной, отвечающей за активность кнопки, выполнился после вотчера, оберните его в $nextTick.
3. Дублируйте данные и проверяйте, что изменяемые равны копии.
4. Изменения слушать только пользовательские. Да, в вопросе вы упоминали, что не хотите так делать, но причину я не очень понял - почему какая-то логика должна оказаться в шаблоне? Ей место в методе, в шаблоне будет только вызов метода. Ну а то, что полей много - пусть метод принимает параметр, указывающий, кого надо обработать. Примерно так.
this.$slots.default[0].elm.onclick = function () { ... }
Выглядит довольно стрёмно. Может легко отвалиться - в случае, если элемент слота будет создан заново. Если уж вот прям кровь из носу надо обрабатывать события элементов слота, я бы лучше повесил обработчик на родительский элемент (и конечно не трогая его непосредственно, а средствами vue - @click="..."), и проверял бы, что e.target является элементом слота.
Думал, сами догадаетесь. Был о ваших умственных способностях лучшего мнения.