美文网首页
更改数组中对象的属性

更改数组中对象的属性

作者: 执念_6afc | 来源:发表于2019-11-16 15:58 被阅读0次

关注需要改变状态时,如果是直接的属性可以直接使用this.article.isFollow = !this.article.isFollow;更改 数组中的属性无法直接更改

1573890522(1).jpg

点击一个时需要将所有id为这个的全部改变

// 关注
follow(id, index, focus) {
  if (this.isLogin) {
    // this.$axios.get("/apis/api/ufollow/" + id).then(({ data }) => {
    //   if (data.errno == "success") {
    //     this.article.isFollow = !this.article.isFollow;
    //   }
    // });
    if (focus.is == 0) {
      this.followtype = 0;
    } else {
      this.followtype = 1;
    }
    let data = {
      type: this.followtype
    };
    let _this = this;
    this.$axios.post("/apis/api/follow/" + id, data).then(({ data }) => {
      if (data.errno == "success") {
        this.article.forEach((element, i) => {
          if (id === element.user_id) {
            // let temp = element.user;
            // if (_this.followtype === 0) {
            //   temp.user_follow.push(1);
            // } else if (_this.followtype === 1) {
            //   temp.user_follow = [];
            // }
            // element.user = Object.assign([], temp);
            if(this.followtype == 0){
              element.focus.is = 1
            }else{
              element.focus.is = 0
            }
            // element.focus.is = !.focus.is;
            _this.article[i] = Object.assign({},element);
          }
        });
      }
    });
  } else {
    this.$store.commit("loginType", true);
  }
},

其中的属性无法直接改变(即无法直接使用this.article.focus.is = !this.article.focus.is;)(在forEach数组中this.article无法直接找到内容)将内容赋值给element.focus.is然后将element.focus.is的内容添加给article,在发送请求之前需要定义一个变量代替this

相关文章

网友评论

      本文标题:更改数组中对象的属性

      本文链接:https://www.haomeiwen.com/subject/yzpyictx.html