【项目实战——emos在线办公系统】:组件之间的相互使用、请假页面、添加请假组件之间的关系梳理、model和v-model

发布于:2022-12-11 ⋅ 阅读:(752) ⋅ 点赞:(0)

一、组件方法之间的调用

  1.父组件调用子组件

       1、在父组件中:首先要引入子组件 import Child from './child';

  2、 <child ref="mychild"></child>是在父组件中为子组件添加一个占位,ref="mychild"是子组件在父组件中的名字

  3、父组件中 components: {  是声明子组件在父组件中的名字

       4、在父组件的方法中调用子组件的方法,很重要   this.$refs.mychild.parentHandleclick("嘿嘿嘿");

   2.子组件调用父组件

   this.$parent.event

    第二种方法是在子组件里用$emit向父组件触发一个事件,父组件监听这个事件就行了。

3.子组件向父组件传值 

  this.$emit("function",param)

 比如,这里子组件当中:

 父组件当中

  然后触发父组件当中的loadDataList

(这里loadDataList的作用就是保存数据,所以我们调用它,就可以实时更新页面)

二、请假页面、添加请假组件之间的关系梳理

1.页面

   leave.vue

 leave-add.vue

1.leave.vue当中数据理解 

每个页面其实相当于一个表格,那么我们可以通过插槽,获取当前行的数据

这样,我们就可以拿到后端返回给我们的数据。以此,我们就可以把这些数据返回给后端 

比如,我们可以打印scope.row我们就可以发现,他们里面返回给我们很多值,比如我们想拿到id,那我们就可以直接,scope.row.id.

2.depList

 

     就是说,下拉列表显示了depList里面的数据,我们在data里面声明了depList,这个depList的值是从哪里来的呢?就是从图三这个函数来的,他发送了一个get请求,然后得到了一个resp的返回值,在这里将deptList的值赋为返回值里面我们需要的那一个部分

     那么这个函数是怎么触发的呢?他是在created里面,也就是说生命周期最开加载,当这个页面渲染出来,那么他就执行了这个函数了

 3.leava-add.vue

(1)使用

      首先需要导入这个组件——import

    然后需要注册这个组件——component

     最后就可以使用了

 ​​

 标签名字对应我们导入的名字,这里小注意点就是,标签是不区分大小写的,所以字母一样就好

三、model和v-model

 原文链接:这里!

四、组件之间的相互使用

   1. 想要实现功能

    点击leave.vue界面当中按钮——弹出第一个组件leave-add.vue——点击第一个组件当中的按钮——弹出第二个组件leave-add-pic.vue

  2.思路:

    将两个组件都在leave.vue当中导入,然后两个组件的visible都设置为false,当点击第一个按钮的时候,修改第一个组件的visible为true,当点击第一个组件的按钮时候,修改第一个组件的visible为true,修改第二个组件的visible为true。

   3.代码实现

leave.vue当中组件的位置

 在data当中都初始化为不可见

 找到第一个点击按钮触发的事件

 可以看到他把第一个组件变为可视,并且调用了第一个子组件当中的init方法

($refs后面的add是第一个子组件的的ref,如下图)

现在我们来实现第二步,找到leave-add.vue当中的按钮和他触发的事件

 可以看到我们这里就实现了第二步

这里为什么我们用this.$parents.param因为leave-add.vue是子组件,但是我们想要改变的是父组件leave.vue当中的值,子组件向父组件传值,就采用此方法

9.12-9.18简单总结

1.问题解决

(1)问题:我的弹窗的必填性质和清空不起作用

解决:改了名字!!!!!!!!没有一起全部改!!!!所以没事不要乱改一些没有必要的东西

2.一周总结

    这一周的收获在于,继续理解了更多的代码,理解了数据流向,补充了vue的知识。最大的感受是在前后端对接口时的收获,解决接口报错的问题思路变得清楚了,先去看接口报错是什么,后端需要的参数我传回去了吗,没有传回去,那么我就去找到这个出问题的数据,弄清楚数据的流向,明白我要从哪里拿到这个数据传回去给后端使用。vue因为不注重DOM的渲染,更多注意的时是数据的流向,所以在弄清楚数据流动的时候,整个代码的思路也变得更加清楚了。

   慢慢搞清楚了数据流向,一些接口的位置,我也会自己改数据,然后自己调试看结果了!

   还学会了debugger,利用debugger去断点,查看是否调用函数等。

  

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到