尚硅谷vue技术学习过程中遇到的问题等待解决
<template>
<section class="jumbotron">
<h3 class="jumbotron-heading">Search Github Users</h3>
<div>
<input type="text" placeholder="enter the name you search"/>
<button @click="searchUsers">Search</button>
</div>
</section>
</template>
<script>
import axios from 'axios'
export default {
name:'Search',
data() {
return {
keyWord:''
}
},
methods: {
searchUsers(){
axios.get(`https://api.github.com/search/users?q=${this.keyWord}`).then(
response => {
console.log('请求成功了',response.data)
},
error => {
console.log('请求失败了',error.message)
}
)
}
},
}
</script>
<style>
</style>
原因:输入框中没有v-model 读不到数据
解决办法:input中加入v-model='keyWord'
<template>
<section class="jumbotron">
<h3 class="jumbotron-heading">Search Github Users</h3>
<div>
<input type="text" placeholder="enter the name you search" v-model="keyWord"/>
<button @click="searchUsers">Search</button>
</div>
</section>
</template>
<script>
import axios from 'axios'
export default {
name:'Search',
data() {
return {
keyWord:''
}
},
methods: {
searchUsers(){
// 请求钱更新List的数据
this.$bus.$emit('updateListDate',{isFirst:false,isLoading:true,errMsg:'',users:[]})
axios.get(`https://api.github.com/search/users?q=${this.keyWord}`).then(
response => {
console.log('请求成功了')
// 请求成功后更新List数据
this.$bus.$emit('updateListDate',{isLoading:false,errMsg:'',users:response.data.items})
},
error => {
console.log('请求失败了',error.message)
// 请求失败后更新List数据
this.$bus.$emit('updateListDate',{isLoading:false,errMsg:error.message,users:[]})
}
)
}
},
}
</script>
<style>
</style>