vue-final / vue-final-modal

🍕Vue Final Modal is a tiny, renderless, mobile-friendly, feature-rich modal component for Vue.js.
https://vue-final-modal.org
MIT License
862 stars 95 forks source link

vue-final-modal@5.x is work in progress, please let me know if you have any practical suggestions 😉 #421

Open hunterliu1003 opened 5 months ago

hunterliu1003 commented 5 months ago

vue-final-modal@5

First of all, I would like to thank all users of vue-final-modal. I learned a lot through creating and maintaining this component library. I am planing to implement v5 recently. If you have any practical suggestions, please leave a message below.

Roadmap

Features

Breaking Change

Compatibility

1. For Option API

vue-final-modal@2.x is for Vue 2, vue-final-modal@3.x is for Vue 3.

2.x and 3.x have pretty much the same API.

2. For Composition API

vue-final-modal@4.x introduce the useModal() composable and fully rewrite with Typescript.

However it's not support Vue 2.

cooper667 commented 4 months ago

Make vue-final-modal@5.x support both Vue 2 and Vue 3

Why is this the aim? Vue 2 reached end of life at the end of last year so supporting it seems like a completely unnecessary overhead?

https://v2.vuejs.org/lts/

hunterliu1003 commented 4 months ago

Make vue-final-modal@5.x support both Vue 2 and Vue 3

Why is this the aim? Vue 2 reached end of life at the end of last year so supporting it seems like a completely unnecessary overhead?

https://v2.vuejs.org/lts/

I just want to try it out and play with vue-demi vue-final-modal@2 supports Vue 2, vue-final-modal@3 supports Vue 3 and their syntax is exactly the same. But vue-final-modal@4 only supports Vue 3 and the syntax has breaking change. I understand that Vue 2 has reached end of life, but if the new syntax of vue-final-modal@5 can both support Vue 2 and 3, Vue 2 users can upgrade to vue-final-modal@5 before migrating to Vue 3 to reduce the complexity of migration.

After some research, vue-demi is not aimed at component compatibility but is purely logical composable. So if vue-final-modal@5 needs to support both Vue 2 and Vue 3, there may be a lot of duplicate code in the project. I'm not sure if it's worth it.

ZWkang commented 4 months ago

Does it still in progress? useTemplate looks great and looking forward to the custom dialog container. Thanks your contribution

a982246809 commented 1 month ago

与vue-router绑定?

negezor commented 1 month ago

Hi. What's the status of the 5.x? I just see a lot of potential places for performance improvements, like reducing the amount of WatchEffect. But I'm not sure if it's worth doing a PR for version 4 now, since a lot of things have already been changed in 5.

Also about Vue 2 support, it's clearly not worth it, I'd even say it's better to support Vue from 3.3+ to get toRef() and toValue() for getters.