Κοινή χρήση τεχνολογίας

Ας μιλήσουμε λεπτομερώς για τον ρόλο του αναχαιτιστή διαδρομής

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Στο Vue, οι αναχαιτιστές διαδρομής χρησιμοποιούνται κυρίως για αναχαίτιση και επεξεργασία πριν από την πλοήγηση σε μια συγκεκριμένη διαδρομή ή κατά την έξοδο από μια συγκεκριμένη διαδρομή. Αυτός ο μηχανισμός επιτρέπει στους προγραμματιστές να εκτελούν συγκεκριμένη λογική πριν ή μετά την πλοήγηση στη διαδρομή, όπως επαλήθευση αδειών, φόρτωση δεδομένων, άλματα σελίδας κ.λπ.

Στο Vue Router, οι παρεμποδιστές διαδρομής μπορούν να εφαρμοστούν με τους ακόλουθους τρόπους:

  1. Global Before Guards:

    • router.beforeEach(to, from, next): Καταχώρηση γενικής προφύλαξης Όταν ενεργοποιηθεί η πλοήγηση διαδρομής, ο φρουρός θα καλείται πριν αλλάξει η διαδρομή.
    • Σκοπός: Κατάλληλο για καθολική επαλήθευση αδειών, έλεγχο γραμμής προόδου φόρτωσης σελίδας κ.λπ.
      1. router.beforeEach((to, from, next) => {
      2. // 检查用户权限
      3. if (!userAuthenticated) {
      4. next('/login'); // 未认证跳转到登录页
      5. } else {
      6. next(); // 已认证则放行
      7. }
      8. });

2.Global Resolve Guards:

  • router.beforeResolve(to, from, next): Καταχωρίστε ένα καθολικό προφυλακτήρα ανάλυσης, το οποίο καλείται μετά το παγκόσμιο μπροστινό φύλακα και πριν επιβεβαιωθεί η πλοήγηση.
    1. router.beforeResolve((to, from, next) => {
    2. // 在导航被确认之前,进行数据加载等操作
    3. fetchData().then(() => {
    4. next();
    5. });
    6. });

3. Φύλακας ανά διαδρομή:

  • Προσθέστε το απευθείας στο αντικείμενο διαμόρφωσης δρομολόγησηςbeforeEnterΠεδίο για προσθήκη λογικής φρουράς σε μία μόνο διαδρομή.
  1. const route = {
  2. path: '/profile',
  3. component: Profile,
  4. beforeEnter: (to, from, next) => {
  5. // 检查用户是否有权限访问该路由
  6. if (userHasAccess) {
  7. next();
  8. } else {
  9. next('/403'); // 没有权限跳转到403页面
  10. }
  11. }
  12. };

 

4.Φύλακες εντός συνιστωσών:

  • Χρησιμοποιείται στο εσωτερικό των εξαρτημάτωνbeforeRouteEnterbeforeRouteUpdate, καιbeforeRouteLeaveΣυναρτήσεις αγκίστρου, αυτές οι συναρτήσεις θα καλούνται όταν η διαδρομή πλοηγείται στο τρέχον στοιχείο, όταν το τρέχον στοιχείο χρησιμοποιείται ξανά και όταν εγκαταλείπει το τρέχον στοιχείο.
  1. export default {
  2. beforeRouteEnter (to, from, next) {
  3. // 在路由导航进入该组件前执行逻辑
  4. next(vm => {
  5. // 可以访问实例 `vm`
  6. });
  7. },
  8. beforeRouteUpdate (to, from, next) {
  9. // 在当前路由改变,但是该组件被复用时调用
  10. // 可以访问组件实例 `this`
  11. // 通常用于更新组件的数据
  12. next();
  13. },
  14. beforeRouteLeave (to, from, next) {
  15. // 在导航离开该组件的对应路由时调用
  16. // 可以访问组件实例 `this`
  17. next();
  18. }
  19. }

Οι μηχανισμοί αυτών των υποκλοπών διαδρομής μπορούν να βοηθήσουν τους προγραμματιστές να ελέγξουν τη διαδικασία πλοήγησης των εφαρμογών σε διαφορετικά επίπεδα και σενάρια και να εφαρμόσουν λειτουργίες όπως έλεγχος αδειών, προφόρτωση δεδομένων και άλματα σελίδας, με αποτέλεσμα να διαχειρίζονται καλύτερα και να βελτιστοποιούν τη διαδραστική εμπειρία των εφαρμογών διεπαφής.