关键词搜索

源码搜索 ×
×

动态改变vue项目页面的title

发布2022-07-28浏览2971次

详情内容

其实也没啥,就是一句代码的事,只不过看在哪里执行而已。这句代码是:

document.title = "新题目";
  • 1

一、动态改变vue项目页面的title

vue只是一个前端框架,有自己的一些语法,但归根到底,还是要编译成原生的javascript代码才能被浏览器执行。同时,原生的javascript代码,它还是认的。不过,这些代码要放在合适的位置。完整例子如下。

这个例子中,页面的title,跟随从服务器端返回的数据而动态变化。title的结构为“当前展示信息的名称 - 网站名称”。

<script>
import { defineComponent, reactive, toRefs, onMounted, watch } from "vue";

const appConfig = require("/public/config");

export default defineComponent({
  props: { fId: { default: 0 } },
  setup(props) {
    const folderInfo = reactive({
      fd: {
        logo: "",
        category: "",
        name: "",
        org: "",
        note: "",
        seaarea: "",
        fileNum: "",
      },
    });

    onMounted(async () => {//页面加载即执行
      search(props.fId);
    });
    watch(//监控属性值。属性值变化即重新获取数据,title于是随之变化
      () => props.fId,
      (val) => {
        search(val);
      }
    );
    const search = (fId) => {
      folder
        .getDetail(fId)
        .then((res) => {
          const fd = res.data;
          folderInfo.fd = fd;
          //关键的一句
          //appConfig.app.name,是配置文件中定义的网站名称,如“订餐谁拿饭抓阄规划监督管理评估系统”
          document.title =
            `${fd.name}[${tools.getDataTime(fd)}] - ` +  + appConfig.app.name;
        })
        .catch((err) => {
          console.log(err);
        });
    };
    
    return {
      ...toRefs(folderInfo),
    };
  },
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

二、页面title从配置文件中读取

上面说到,网站名称作为页面title的一部分,是从配置文件中定义的。这个机制是咋样的呢?

vue这类框架,搞出来的项目,都是单页面项目。就是说,别看这个项目好像挺大,但只有一个页面,运行过程中,所有的“页面”都是通过JS脚本动态切换和加载的。这种情况下,将title直接写到public/index.html里,当然也是可以的。

但是,title通常写的都是系统名称,而系统名称在一个项目里,至少有三个地方要用到:页面title,登录页面,登录后页面的页头。作为程序员,很自然就想到,应当将这个系统名称写到配置文件里,这三个地方都从配置文件里读。

具体机制可看这里
vue项目读取全局配置

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载