學習VueJS並嘗試對組件加載進行簡單的API調用,以將回購列表放到我的頁面上。當我撥打created()
方法並設置this.repos
時,沒有問題。但是,如果我將它設置爲一種方法,然後從this.getRepos
調用它,什麼都不會發生。沒有錯誤,沒有。我錯過了什麼VueJS?爲什麼VueJS不會調用created()函數中的方法?
這工作:
data:() => ({
msg: 'Github Repos',
ok: 'Im practically giving away these repos',
repos: [],
}),
methods: {
},
async created() {
const repos = await axios.get('https://api.github.com/orgs/octokit/repos');
this.repos = repos.data.map(repo =>
`<div class="box"><a href="${repo.html_url}">
${repo.name}
</div>`,
);
},
這不起作用:
data:() => ({
msg: 'Github Repos',
ok: 'Im practically giving away these repos',
repos: [],
}),
methods: {
getRepos: async() => {
const repos = await axios.get('https://api.github.com/orgs/octokit/repos');
this.repos = repos.data.map(repo =>
`<div class="box"><a href="${repo.html_url}">
${repo.name}
</div>`,
);
},
},
created() {
this.getRepos();
},
任何想法?謝謝!
可能的複製[VueJS的:爲什麼 「這個」 不確定? ](https://stackoverflow.com/questions/43929650/vuejs-why-is-this-undefined) – Bert
只需 '異步getRepos(){' – Reiner