存儲後這是我的VUE代碼:如何修改JSON數據在VUE數據對象
new Vue({
el : '#root',
data : {
blog : []
},
created() {
this.$http.get('https://jsonplaceholder.typicode.com/posts')
.then(function(response) {
// console.log(response.data)
this.blog = response.data
})
.catch(function (error) {
this.error = 'Error! Could not reach the API. ' + error
})
}
});
我的HTML代碼是:
<div id="root" class="container">
<ul v-for="post in blog">
<li> {{ post.id }} </li>
<li>{{ post.userId }} </li>
<li>{{ post.title }} </li>
</ul>
</div>
現在我可以給每一個用戶的名字就好了,但我想修改一些東西,如用戶ID是1,那麼用戶的名字將被改爲「Smith」。 我試過這段代碼:
mounted() {
if (this.blog[0].userId == 1) {
this.blog[0].userId = 'Smith'
}
}
但它顯示了這個錯誤:
Uncaught TypeError: Cannot read property 'userId' of undefined
如果我使用的方法與事件它工作得很好!這個怎麼做 ?
同樣的console.log後(this.blog [0] .userId)我收到後: 「1」
所以你的問題是沒有添加名稱,但與ID有關?因爲你得到錯誤,因爲id attr不存在 – samayo
@samayo當我嘗試它顯示此錯誤: '未捕獲TypeError:無法讀取未定義的屬性'名稱' 但如果我試着用一些事件處理程序方法,那麼它工作正常! 確切地說,我想在將數據保存到數組後將其修改! – Mohib
你可以做'console.log(this.blog)'嗎? – samayo