Навалял на vue рыбу приложеньки https://puzrin.github.io/reflow_mock/. Теперь пытаюсь понять, как туда втулить поддержку нескольких девайсов.
Допустим, у меня есть полностью виртуальный и реальный девайсы, которые отдают температуру и т.п., a также имеют методы start/stop. Хочется чтобы при переключении на другой девайс все реактивные биндинги продолжили работать, просто забирая данные из другого источника.
Как это положено правильно делать в vue?
Пока в голову пришло сделать проксирующий объект:
const currentDriver = ref(defaultDriver)
// там где переключаем драйвер
currentDriver.value = driverInstance
// это выставляем приложеньке
export driver {
temperature: computed(() => currentDriver.temperature.value),
power: computed(() => currentDriver.power.value),
start: () => currentDriver.start(),
stop: () => currentDriver.stop()
}
Так годно или есть более кошерные варианты?