tav-ui
Version:
45 lines (40 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function useScript(opts) {
const isLoading = vue.ref(false);
const error = vue.ref(false);
const success = vue.ref(false);
let script;
const promise = new Promise((resolve, reject) => {
vue.onMounted(() => {
script = document.createElement("script");
script.type = "text/javascript";
script.onload = function() {
isLoading.value = false;
success.value = true;
error.value = false;
resolve("");
};
script.onerror = function(err) {
isLoading.value = false;
success.value = false;
error.value = true;
reject(err);
};
script.src = opts.src;
document.head.appendChild(script);
});
});
vue.onUnmounted(() => {
script && script.remove();
});
return {
isLoading,
error,
success,
toPromise: () => promise
};
}
exports.useScript = useScript;
//# sourceMappingURL=useScript2.js.map