首先要搞清楚请求在哪个子组件里面发送,数据变更的是下面的组件,所以,ajax请求因该卸载请输入用户名搜做那个组件里面
因为是子组件之间的相互通信,所以这里使用props会很麻烦,所以最直接的方法就是用消息的发布与订阅
同时也要明白,该在哪个组件里面发布,该在哪个组件里面订阅
头部搜索的组件,其实只是做到了一个点击事件的效果,我们点击了这个搜索按钮,下方的组件就会出现相应的内容,也就是说,搜索的组件发布了这个消息,然后下方的组件就回去执行这个消息,并且把结果显示出来,所以我们的消息的发布就应该定义在头部组件中,而消息的订阅就定义在下方显示内容的组件中
首先引入pubsub库
给这个页面的输入框双向绑定数据,并且给按钮定义一个点击事件来发布消息
这里先判断有没有关键字,也就是输入框里面有没有内容,如果有的话,就发布消息,并且把这个关键字传过去
接下来在另一个子组件中订阅消息,步骤还是一样,先引入pubsub库,然后在页面载入的时候我们就需要去发送ajax请求了,需要将数据渲染出来
因为我们的原数组中的对象只有三个属性,但是接口文档里显示的却有很多属性,并且我们的属性名也与接口文档里的不一样。这个时候我们就需要去调用一下数组中的map方法来将内容替换一下,
输入关键字点击搜索
这里因为接口报错了,但是整体实现步骤没有问题