vue-hooks-plus
Version:
Vue hooks library
27 lines (26 loc) • 811 B
JavaScript
const vue = require("vue");
const isBrowser = require("../utils/isBrowser");
const _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
const isBrowser__default = /* @__PURE__ */ _interopDefaultLegacy(isBrowser);
const DEFAULT_OPTIONS = {
restoreOnUnmount: false
};
function useTitle(title, options = DEFAULT_OPTIONS) {
const titleRef = vue.ref(isBrowser__default.default ? document.title : "");
if (vue.isRef(title)) {
vue.watch(title, () => {
document.title = title.value;
});
} else
document.title = title;
vue.onMounted(() => {
document.title = vue.unref(title);
});
vue.onUnmounted(() => {
if (options.restoreOnUnmount) {
document.title = vue.unref(titleRef);
}
});
}
module.exports = useTitle;
;