有没遇到过 编辑文章标题 跟内容 不好用的 同学?

问答 weixia942 ⋅ 于 2个月前 ⋅ 最后回复由 Ryun 2个月前 ⋅ 1735 阅读

查了半天 ,查到 store/actions.js 文件 post方法

export const post = ({ commit, state }, { article, articleId }) => {
  let articles = state.articles

  if (!Array.isArray(articles)) articles = []

  if (article) {
    const uid = 1
    const { title, content } = article
    const date = new Date()

    if (articleId === undefined) {
      const lastArticle = articles[articles.length - 1]

      if (lastArticle) {
        articleId = parseInt(lastArticle.articleId) + 1
      } else {
        articleId = articles.length + 1
      }

      articles.push({
        uid,
        articleId,
        title,
        content,
        date
      })
    } else {
      for (let article of articles) {
        if (parseInt(article.articleId) === parseInt(articleId)) {
          article = { ...article, ...{ title, content } }
          //这里改成 原来的调取方法才生效!换成 上面的一句就是死活没效果
          //article.title = title
          //article.content = content
          break
        }
      }
    }

    commit('UPDATE_ARTICLES', articles)
    router.push({ name: 'Content', params: { articleId, showMsg: true } })
  } else {
    for (let article of articles) {
      if (parseInt(article.articleId) === parseInt(articleId)) {
        articles.splice(articles.indexOf(article), 1)
        break
      }
    }

    commit('UPDATE_ARTICLES', articles)
    router.push({ name: 'Home', params: { showMsg: true } })
  }
}

本文章首发在 Vuejs 知识社区
成为第一个点赞的人吧 :bowtie:
最佳答案
  • @weixia942 感谢指正,编辑文章时没问题,删除时出现了拷贝错误,article 是对当前文章的引用,使用 article = {...} 时就给 article 赋了一个新值,此时的 article 跟当前文章就没什么关系了。

    2个月前
回复数量: 1
  • @weixia942 感谢指正,编辑文章时没问题,删除时出现了拷贝错误,article 是对当前文章的引用,使用 article = {...} 时就给 article 赋了一个新值,此时的 article 跟当前文章就没什么关系了。

    2个月前
您需要登陆以后才能留下评论!

Vue.js 官方中文文档

前端开发环境部署