The Quasar LoadingBar plugin offers an easy way to set up your app with a QAjaxBar in case you don’t want to handle a QAjaxBar component yourself.
For a demo, please visit the QAjaxBar documentation page.
// quasar.config.js return { framework: { plugins: [ 'LoadingBar' ], config: { loadingBar: { /* look at QuasarConfOptions from the API card */ } } } }
LoadingBar options are same as when configuring a QAjaxBar.
WARNING
When using the UMD version of Quasar, all components, directives and plugins are installed by default. This includes LoadingBar. Should you wish to disable it, specify loadingBar: { skipHijack: true }
(which turns off listening to Ajax traffic).
Usage
Inside Vue components:
import { useQuasar } from 'quasar' setup () { const $q = useQuasar() $q.loadingBar.start() $q.loadingBar.stop() $q.loadingBar.increment(value) }
Outside of Vue components:
import { LoadingBar } from 'quasar' LoadingBar.start() LoadingBar.stop() LoadingBar.increment(value)
Setting Up Defaults
Should you wish to set up some defaults, rather than specifying them each time, you can do so by using quasar.config.js > framework > config > loadingBar: {…} or by calling LoadingBar.setDefaults({...})
or $q.loadingBar.setDefaults({...})
. Supports all QAjaxBar properties.
Inside Vue components:
import { useQuasar } from 'quasar' setup () { const $q = useQuasar() $q.loadingBar.setDefaults({ color: 'purple', size: '15px', position: 'bottom' }) }
Outside of Vue components (includes boot files):
import { LoadingBar } from 'quasar' LoadingBar.setDefaults({ color: 'purple', size: '15px', position: 'bottom' })
Using an Ajax filter v2.4.5+
Should you want to trigger LoadingBar only for some URLs, then you can use the setDefaults()
method (described above) to configure the hijackFilter
property:
import { LoadingBar } from 'quasar' LoadingBar.setDefaults({ // return a Boolean which has the meaning of // "does this URL should trigger LoadingBar?" hijackFilter (url) { // example (only https://my-service.com/* should trigger) return /^https:\/\/my-service\.com/.test(url) } })