vue-hooks-plus
Version:
Vue hooks library
26 lines (25 loc) • 617 B
JavaScript
import { ref, isRef, watch, onMounted, unref, onUnmounted } from "vue";
import isBrowser from "../utils/isBrowser";
const DEFAULT_OPTIONS = {
restoreOnUnmount: false
};
function useTitle(title, options = DEFAULT_OPTIONS) {
const titleRef = ref(isBrowser ? document.title : "");
if (isRef(title)) {
watch(title, () => {
document.title = title.value;
});
} else
document.title = title;
onMounted(() => {
document.title = unref(title);
});
onUnmounted(() => {
if (options.restoreOnUnmount) {
document.title = unref(titleRef);
}
});
}
export {
useTitle as default
};