Preloader with three and vue.js

I want to know what is the best way to work with three.js and vue.js (vue-router). If it is better to place the canvas in global or in the single component of some route?
Also know how to create a preloader when finish loading the canvas with model 3d (.gltf).

To clarify more, I am making a website like this, where they use a 3D model.