日常学习分享
前端拿到一个需求,怎么实现?
先说结论,整体思路:先静后动。
先静指的是搭建静态页面,根据设计稿把静态页面实现,可以使用组件库(如element-ui)。
实现静态页面需要拆分组件。
一个页面可以划分为多个组件,如果多个页面都使用同一个功能,可以拆成公共组件。
后动指的是初始化动态数据展示和用户交互(增删改查)。
先说初始化动态数据展示,什么是初始化动态数据展示呢?
就是一打开页面就已经展示在页面的数据,此时用户还没有手动操作页面,比如常见的列表。
初始化动态数据展示这一步怎么做呢?
要展示需要数据,数据从哪里来?发请求从后端拿。
只要是发请求,需要考虑3件事,用什么发?往哪发?在哪发?
首先用什么发?用axios发。
其次往哪发?看接口文档,看请求方式,请求路径,请求参数,确认之后写接口请求函数。
最后在哪发?分2种情况,vuex和非vuex。
如果是在vuex,发请求的逻辑写在vuex里,组件通过dispatch action来发请求,请求回来的数据保存在state里,后续组件要使用数据从state里取。
如果不是在vuex里发,那就是在组价里发,请求回来的数据保存在组件的data里,后续要使用直接从data里取。
以这个列表为例,列表数据仅在当前页面使用,因此发请求可以直接在组件里。
先定义一个method写发请求的逻辑,写完后,什么时候调用呢?也就是什么时候发请求呢?组件一挂载就发,那就在mounted钩子函数里调用。
拿到数据后,在data里定义一个变量,将数据赋值给这个变量,接着就可以进行初始化动态数据展示了。
以表格为例,给table绑定data属性,属性值使用我们定义的变量,表格的每一列,绑定对应的属性,如果不是直接展示后台数据,需要使用插槽,比如需要展示图片,那就要用插槽,需要解构出row,动态设置src,到这里就完成了初始化动态数据渲染。
接下来是用户交互,也就是常说的增删改查,后面再续写一篇^^