Heim > Web-Frontend > View.js > Ein Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

Ein Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

青灯夜游
Freigeben: 2023-02-09 20:07:10
nach vorne
2150 Leute haben es durchsucht

Dieser Artikel gibt Ihnen eine detaillierte Erklärung des Routings in Vue und bewacht diese beiden Wissenspunkte. Basierend auf dem Inhalt des Artikels können Freunde relevantes Lernen durchführen Plug-in-Bibliothek, die speziell zur Implementierung von Single-Page-Webanwendungen (SPA) für

SPA-AnwendungenEin Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

verwendet wird. Für die gesamte Bewerbung gibt es nur eine vollständige Seite. Durch Klicken auf einen Navigationslink auf der Seite wird die Seite nicht, sondern nur teilweise aktualisiert. Daten müssen über eine Ajax-Anfrage abgerufen werden.

2. Was ist Routing?

Eine Route ist eine Reihe von Zuordnungsbeziehungen (Schlüssel: Wert). Klassifizierung

1. Backend-Routing: Wert-Funktion, die zur Verarbeitung von vom Kunden übermittelten Anfragen verwendet wird. Arbeitsprozess: Wenn der Server eine Anforderung empfängt, findet er die passende Funktion gemäß dem Anforderungspfad, um die Anforderung zu verarbeiten, und gibt die Antwortdaten zurück. [Verwandte Empfehlungen: vuejs-Video-Tutorial,

Web-Front-End-Entwicklung
    ]
  • 2. Wert ist eine Komponente, die zum Anzeigen von Seiteninhalten verwendet wird. Arbeitsprozess: Wenn sich der Browserpfad ändert, wird die entsprechende Komponente angezeigt.
  • 3. Grundlegende Verwendung von Routing

1. Installieren Sie das Plug-in
npm i vue-router
Nach dem Login kopieren

4 Um das Umschalten zu implementieren (Hinweis: Router-Link wird nach dem Durchlaufen des Browsers zu einem Tag)

Vue.use(VueRouter)
Nach dem Login kopieren
5. Verwenden Sie die Router-Ansicht, um die Darstellung von Komponenten zu realisieren (ähnlich wie bei Slots).
//  引入vueRouter
importvueRouterfrom'vue-router'
// 引入组件
importAboutfrom'../components/About'
importHomefrom'../components/Home'
export default new vueRouter({
     routes: [{
             path: '/about',
             component: About
         },
         {
             path: '/home',
             component: Home
         },
     ]
Nach dem Login kopieren
Hinweis: 1. Routing-Komponenten werden normalerweise verwendet im Ordner „pages“ gespeichert, also nicht im Komponentenordner ablegen 2 Durch den Wechsel wird die „versteckte“ Routing-Komponente standardmäßig zerstört und Sie können sie bei Bedarf mounten 3. Jede Komponente hat ihre eigene „$route“. Das Attribut speichert seine eigenen Routing-Informationen.

4. In der gesamten Anwendung gibt es nur einen Router, der über die $router-Eigenschaft der Komponente abgerufen werden kann.

4. Mehrstufiges Routing

Konfigurieren Sie die Route der nächsten Ebene in den Routing-Regeln und Routing-Parametern

Es gibt zwei Möglichkeiten: Die erste besteht darin, Abfrageparameter direkt in den Pfad zu schreiben, und die zweite darin, Parameter in Parametern zu übergeben

Routenbenennung

(vereinfachter Code)

Sie müssen nicht viel schreiben Wenn Sie zu gehen, lautet der Pfad




1.params

1. Konfigurieren Sie die Routing-Anweisung, um Parameter zu akzeptieren
        <divclass="list-group">
          <!-- 原始写法——使用a标签进行页面的跳转 -->
          <!-- <a class="list-group-item active" href="./about.html">About</a>
          <a class="list-group-item" href="./home.html">Home</a>-->
          <!-- 使用vue-Router提供的标签进行路径的修改,实现路由的切换 -->
          <router-link 
            class="list-group-item"
            active-class="active"
            to="/about">About
           </router-link>
          <router-link 
            class="list-group-item"
            active-class="active"
            to="/home">Home
           </router-link>
        </div>
Nach dem Login kopieren

2. Übergeben Sie Parameter

          <divclass="panel-body">
            <!-- 指定组件的呈现位置 -->
            <router-view>
            </router-view>
          </div>
Nach dem Login kopieren

2 . Routen-Requisiten-Konfiguration

Es gibt drei Konfigurationsmethoden, nämlich

Objekttyp

,

Boolescher Typ, Funktionstyp

Der Zweck besteht darin, die Routing-Komponente bequemer zum Empfangen von Parametern zu machen

rreeeEin Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

3.< ;router -link>s Ersetzungsattribut

Ein Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

1 Funktion: Steuern Sie den Betriebsmodus des Browserverlaufs beim Routing von Sprüngen

2.浏览器的历史记录有两种写入方式:分别为pushreplace,push 是追加历史记录,replace 是替换当前记录。路由跳转时候默认为push,所以为push的时候可以进行后退前进操作,而replace直接就是替换掉之前的那个地址所以在replace的里面智慧存在一个地址,也就是当前所呈现的那个地址,就好比做核算,push是排队的人,replace是做核酸的医务人员

3.如何开启replace模式:News即可

Ein Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert


4.编程式路由导航

1.作用:不借助实现路由跳转,让路由跳转更加灵活

  methods: {
      //后退
    back() {
      this.$router.back();
    },
      //前进
    forward() {
      this.$router.forward();
    },
      //可以后退也可以前进
    test() {
      this.$router.go(-2);
    }
  }
Nach dem Login kopieren

5.缓存路由组件

1.作用:让不展示的路由组件保持挂载,不被销毁。

2.具体实现方法

<keep-alivelinclude= "News">
K router-view></router-view>
</keep-alive>
Nach dem Login kopieren

两个新的生命周期钩子

1.作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态分别是activated 路由组件被激活时触发。deactivated 路由组件失活时触发。

6.路由守卫

作用:对路由进行权限控制

分类:全局守卫独享守卫组件内守卫

1.全局守卫

router.beforeEach((to, from, next) => {
    console.log(to, from);
    if (to.meta.isAuth) {//判断是否需要鉴权
        if (localStorage.getItem(&#39;school&#39;) ===&#39;shanyu&#39;) {
            next();
        } else {
            alert(&#39;该学校无权限查看此内容&#39;)
        }
    } else {
        next()
    }
})
// 后置路由守卫,切换路由后调用
router.afterEach((to, from) => {
    console.log(to, from);
    document.title=to.meta.title||&#39;山鱼屋&#39;
})
Nach dem Login kopieren

2.独享路由守卫

专门服务于一个路由的守卫

beforeEnter: (to, from, next) => {
                        console.log(to, from);
                        if (to.meta.isAuth) { //判断是否需要鉴权
                            if (localStorage.getItem(&#39;school&#39;) ===&#39;shanyu&#39;) {
                                next();
                            } else {
                                alert(&#39;该学校无权限查看此内容&#39;)
                            }
                        } else {
                            next()
                        }
                    },
Nach dem Login kopieren

3.组件内守卫

在进入/离开组件时被激活

//进入守卫:通过路由规则,进入该组件时被调用
beforeRouteEnter (to, from, next) {
},
//离开守卫:通过路由规则,离开该组件时被调用
beforeRouteLeave (to, from, next) {
}
Nach dem Login kopieren

4.路由器的两种工作模式

对于一个url来说#其后面的内容就是hash值。

Ein Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

就是这个#后面的

hash的特点及使用

  • hash值不会带给服务器。

  • hash模式

1.地址中永远带着#号

2.若以后将地址通过第三方手机app分享,若app校验严格, 则地址会被标记为不合法。

3.兼容性较好。

3.history模式

1.地址干净,美观。

2.兼容性和hash模式相比略差。

3. 应用部署上线时需要后端人员支持,解决刷新页面服务端404的问题。

4.切换history模式

Ein Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert

在route文件夹下面的index文件里添加 `mode: 'history'`这句代码即可(默认的是hash模式)

(学习视频分享:vuejs入门教程编程基础视频

Das obige ist der detaillierte Inhalt vonEin Artikel, der das Routing und verschiedene Wachen in Vue kurz analysiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
vue
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage