看一个例子:
<html>
<head>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="button" value="获取笑话" @click="getJoke">
<ul>
<li v-for="(item, index) in jokes">
{{item}}
</li>
</ul>
</div>
<script>
var vue = new Vue({
el: "#app",
data: {
jokes: []
},
methods: {
getJoke: function () {
var that = this;
axios.get('https://autumnfish.cn/api/joke/list?num=3')
.then(function (response) {
that.jokes = response.data.jokes;
}, function (err) {
})
}
},
})
</script>
</body>
</html>
效果:
点击获取笑话:
获取了三条笑话。
说明:
需要引入:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
axios回调平函数中的this已改变,需要先存储vue中的this,才能进行下一步赋值。
和vue本地获取数据的最大区别就是改变了数据的来源。