There’s an outline of a solution for React here. This might give you an idea of how to implement it in Vue as well.