当前位置: 首页 > Web前端 > HTML5

说说我觉得mixin在项目中的使用

时间:2023-04-05 17:17:44 HTML5

说说我觉得mixin在项目中的使用无外乎三个问题什么是mixin?mixins有什么用?如何使用混入?什么是混入?一句话,mixin就是mixin,使用mixin可以减少重复代码,提高代码复用。为什么要使用mixin?比如我在写一个erp系统,这个系统里面有很多表格。一旦有表格,就会有分页。如果N个页面必须有N个分页,你可以选择在N个页面上写N个分页方法,但是一般如果使用Vue,相信你会把分页封装成组件的形式。现在假设您已经封装了组件。以及一系列的组件方法和组件事件。是否需要为每个页面定义一个单独的方法来接收事件?一个页面需要N个事件接收方法吗?那么我们需要在N个页面上编写事件接收方法,进行事件处理。但是如果你使用mixin那么你不需要在每个页面上编写一个单独的方法来接收。使用mixin有利于代码的复用,如何使用mixin保持页面整洁呢?首先我们需要定义一个mixin文件},created(){console.log('mixincreated')},}mixincall然后我们看一下控制台的输出,我们可以清楚的看到mixin中的hooks优先于组件中的方法输出。那是因为mixin中的钩子和方法会在组件加载时先被注册。可以说我们在mixin中定义的方法或者hook优先于组件中的hook方法重写Vue实例,而我们在组件中的方法hook会在mixin重写后重写Vue实例并且严格遵循Vue生命周期。让我举一个例子。在实际的demo案例中,我们一般是这样做的,就是像我开头说的那样,为每个页面写一个方法接收参数mixin优化后,mixin文件导出让mixin={data(){return{pageSize:10,total:1000,currentPage:100}},methods:{//当前页码变化调用handleCurrentChange(i){//根据当前页码变化获取表格数据this._getTableData()},},}组件文件