動態添加meta和title


vue動態設置title和meta標簽

1.在router.js中添加meta  在main.js中監聽路由的變化改變頁面head中的標簽  代碼如下:

router.js 
path: "/transfer/detail/:id",
          name: "transfer/detail",
          meta: {
            title: "轉店詳情",
            name: "xxx轉店",
            content: "xxx轉店,租金xx元/月"
          },
          component: () =>
            import(/* webpackChunkName: "TransferShopDetails" */ "@/views/TransferShopDetails.vue")
}
main.js
router.beforeEach((_to, _from, next) => {
  if (_to.meta.content || _to.meta.name) {
    let head = document.getElementsByTagName("head");
    let meta = document.createElement("meta");
    meta.content = _to.meta.content;
    meta.content = _to.meta.name;
    head[0].appendChild(meta);
  }
  /* 路由發生變化修改頁面title */
  if (_to.meta.title) {
    document.title = _to.meta.title;
  }
  next();
});
2.window.open中打開新頁面,找了半天自戀也沒有發現簡單高效的方法, 於是直接在跳轉的頁面組件內修改meta和title,多個頁面需要些多次方法,代碼如下:
document.title = this.detailsData.title;
      let meta = document.getElementsByTagName("meta");
      let meta1;
      let meta2;
      for (let i in meta) {
        if (meta[i].name === "Keywords") {
          meta1 = meta[i];
        }
        if (meta[i].name === "Description") {
          meta2 = meta[i];
        }
      }
      meta1.content =
        this.detailsData.bigDistrictName +
        this.detailsData.smallDistrictName +
        "商鋪出租,租金" +
        this.detailsData.rent +
        this.detailsData.rentShowUnit +
        ",面積" +
        this.detailsData.area +
        "m²,無轉讓費";
      meta2.content = this.detailsData.suitIndustry;
如果有更高效簡潔的動態修改方法的話  敬請留言  共同學習
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM