javascript - 在 JS 中访问对象属性
问题描述
我目前正在写博客,我有点卡住了,我需要一些帮助!
用户在创建文章时,可以通过“位置”属性设置一个特殊的标签,将文章推送到网站顶部。所以article.position
可以等于“第一”、“第二”、“第三”或“无”(这是默认位置),具体取决于用户设置。
下面是使用 axios 创建文章的方法:
addArticle() {
axios.post('http://localhost:4000/articles', {
title: this.title,
description: this.description,
content: this.content,
position: this.position,
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
},
一切正常,但问题是:
当用户创建具有特殊位置的文章时,如果文章已经设置为相同的位置,我希望将其替换为用户刚刚设置的新文章。
例如:旧文章 A 有position == "first"
. 用户正在创建一个新的文章 B,他希望文章 B 位于顶部,他设置position == "first"
. 文章 A 位置现在应设置为“无”。
重要提示:文章位于 Vuex 商店。
这是我尝试过的,在 axios 请求上方的 addArticle 方法中:
if (article.position == "first") {
let articlesList = this.$store.state.articles
for (var i = 0; articlesList.length; i++) {
if(articlesList[i].position == "first")
articlesList[i].position == "none"
}
}
我是菜鸟,所以可能有很多错误,我做错了什么?
感谢您的时间!
解决方案
if (article.position === 'first') {
let articlesList = this.$store.state.articles;
for (i = 0; i < articlesList.length; i++) {
if(articlesList[i].position === 'first')
articlesList[i].position = "none"
}
}
我只是在没有提及最佳实践和其他东西的情况下进行最小的更改。
推荐阅读
- javascript - 在具有 flex-direction: 行的 flexbox 中 Ngx-datatable 不会缩小
- ibm-cloud - Personality Insights:有速率限制吗?
- javascript - 在 React 中创建数独
- postgresql - 每当我从终端运行 createdb 或 dropdb 时,Postgresql 突然要求我输入密码
- conv-neural-network - 融合 CNN 和 GRU 模型的中间输出
- python-2.7 - 在 Django-Polymorphic 包中更改子类的“选择”
- r - 使用函数对多个数据框进行排序
- apache-kafka - 配置 debezium 以根据自定义标准将数据放在单独的主题上
- php - 随机选择分数总和小于 10 的记录
- html - 订阅 next() 调用