對不起,但我嘗試了所有我在網上找到的解決方案。這似乎是一個普遍的問題,但我不能讓它工作。經過一整天后,我放棄了。這一定很愚蠢,任何vue.js大師都會在幾秒鐘內找到該點。任何幫助將不勝感激。Vue.js,Axios,JSon並沒有刷新
重點:我收到一些JSON並嘗試用收到的值更新我的頁面,但這些字段爲空。 jsonSettings.length
始終爲0
我想我明白爲什麼:這是肯定,因爲在陣列中的「指針」不改變,因此vue.js未檢測到的內容,或類似的變化,但我只是不能使它工作,這是讓我瘋狂。
我的HTML:
<!DOCTYPE html>
<html>
<head>
<title>List</title>
<script src="/js/vue.min.js"></script>
<script src="/js/axios.js"></script>
</head>
<body>
<div id="app">
Message : {{ message }} <BR>
Length : {{ jsonSettings.length }} <BR>
Typeof : {{ jsonSettings.typeof }} <BR>
<button v-on:click="getData()">Load data</button>
<button v-on:click="printData()">Print data</button>
</div>
</body>
<script src="/javascripts/axios.js"></script>
</html>
我的javascript:
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!',
// jsonSettings: [],
},
methods: {
jsonSettings : function() {
return (
[
{ id: 0, resume: 'test 0'},
{ id: 1, resume: 'test 1'},
{ id: 2, resume: 'test 2'}
]
)
},
getData : function() {
axios.get('/axios/LoadAxiosData')
.then(function (response) {
this.jsonSettings = response.data;
this.message = "getData - I get objects : " + jsonSettings.length + " lines ";
this.$set('jsonSettings', response.data);
this.message = "getData - OK";
})
.catch(function (error) {
this.message = "getData - I get null";
});
},
printData: function() {
this.message = "printData - jsonSettings.length = [" + jsonSettings.length + "]";
jsonSettings.map((item, i) => console.log('Index:', i, 'Id:', item.resume));
}
}
})
一次抱歉,但我不能讓它工作,我被困在因爲這樣的江心愚蠢的觀點:-(
的可能的複製[愛可信無法設置數據](https:// stackoverflow。com/questions/40996344/axios-cant-set-data) – thanksd