首页 > 解决方案 > Vue - decodeURI 在它被添加到 Vuex 状态之前

问题描述

我正在使用 wordpress rest api 并从服务器获取编码的标题字符串。我想在使用它替换 document.title 之前对字符串进行解码。

WordPress API

{
 "id": 698,
 "title": {
  "rendered": "Ludovico Einaudi – “Divenire”"
 },
}

动作.js

export default {
  updateDocTitle ({ state, commit }, { parts = [], sep = ' – ' }) {
    commit('SET_DOC_TITLE', parts.join(sep))
    document.title = state.site.docTitle
  },
}

试过document.title = decodeURI(state.site.docTitle)- 不起作用

突变.js

export default {
  SET_DOC_TITLE(state, title) {
    state.site.docTitle = title
  }
}

试过state.site.docTitle = decodeURI(title)- 不起作用

零件

computed: {
    post() {
      return this.$store.getters.singleBySlug(this.request)
    }
  },
  methods: {
    getPost() {
      this.$store.dispatch('getSingleBySlug', this.request).then(() => {
        this.$store.dispatch('updateDocTitle', { parts: [ this.post.title.rendered, this.$store.state.site.name ] })
      })
    }
  },
  created() {
    this.getPost()
  }

试过this.$store.dispatch('updateDocTitle', { parts: [ decodeURI(this.post.title.rendered), this.$store.state.site.name ] })- 不起作用

标签: javascriptvue.jsvuejs2vuex

解决方案


推荐阅读