Heim > Web-Frontend > js-Tutorial > Teilen grundlegender Routing-Beispiele von Vue-Router

Teilen grundlegender Routing-Beispiele von Vue-Router

小云云
Freigeben: 2018-01-15 11:22:24
Original
1261 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich relevante Informationen zu den Grundlagen des Vue-Routers vorgestellt. Ich hoffe, dass dieser Artikel jedem helfen kann, diesen Teil des Inhalts zu verstehen und zu beherrschen alle.

Detaillierte Erläuterung der Vue-Router-Routing-Grundlagen

Heute habe ich die Grundlagen von Vue-Route und die von Vue offiziell empfohlenen Routen zusammengefasst.

1. Erste Schritte

HTML


<p id="myp">
 <h1>简单路由</h1>
 <router-link to="/foo">Go to foo</router-link>  
 <router-link to="/bar">Go to bar</router-link>  

// 渲染出口
 <router-view></router-view>
</p>
Nach dem Login kopieren

Vorlage (Komponente) erstellen:

(Sie können den Import auch verwenden, um externe Komponenten einzuführen)


  var foo={template:"<p>我是foo 组件</p>"};
  var bar={template:"<p>我是bar 组件</p>"};
Nach dem Login kopieren

Komponenteninjektionsroute:


var routes = [
   {path:&#39;/foo&#39;,component:foo},
   {path:&#39;/bar&#39;,component:b ar},
  ];
Nach dem Login kopieren

Erstellen Sie eine Routing-Instanz:


// 这里还可以传入其他配置
const router = new VueRouter({
   routes   // (缩写)相当于 routes: routes; 
  });
Nach dem Login kopieren

Beachten Sie, dass es hier in Routen kein „r“ gibt (Schreiben Sie es nicht als Router)

Erstellen Sie eine Vue-Instanz (und mounten Sie die Instanz)


 var routerVue = new Vue({
   router
  }).$mount("#myp");
Nach dem Login kopieren

2. Dynamischer Routenabgleich

Manchmal benötigen wir dieselbe Vorlagenstruktur, aber die Daten sind zu diesem Zeitpunkt unterschiedlich. Dies entspricht dem Verbinden angemeldeter Benutzer mit unterschiedlichen IDs mit derselben Seite, wird jedoch angezeigt Unabhängige Informationen für jeden Benutzer. In diesem Fall verwenden wir den dynamischen Routing-Abgleich.

Dynamisches Routing verwendet hauptsächlich die globalen $route.params und die dynamischen Parameter der Route. Die Parameter-API der globalen Route speichert alle Parameter der Route ::

HTML


<p id="myp">
// 点击对应链接时传入对应参数foo 和 bar
 <router-link to="/User/:foo">Go to foo</router-link> 
 <router-link to="/User/:bar">Go to bar</router-link> 

  <router-view></router-view>
</p>
Nach dem Login kopieren

JS


const User = {
   template:&#39;<p>我的ID是{{ $route.params.id }}</p>&#39;,
// 在路由切换时可以观察路由
   watch:{
    &#39;$route&#39;(to,form){
     console.log(to); //要到达的
     console.log(form);
    }
   }
  }

  const router = new VueRouter({
   routes:[
     {path:&#39;/user/:id&#39;,component:User} // 标记动态参数 id
   ]
  });

  var myVue = new Vue({
    router
  }).$mount("#myp")
Nach dem Login kopieren

3. Verschachteltes Routing

1. Verschachteltes Routing bedeutet, dass wir verwenden können 🎜> beim Konfigurieren der Route.
Zum Beispiel:


HTML:


JS:
<p id="myp">
 <router-link to="/User/:foo">Go to foo</router-link> 
 <router-link to="/User/:bar">Go to bar</router-link> 

  <router-view></router-view>
</p>
Nach dem Login kopieren


const User = {
   template:&#39;<p><p>我的ID是{{ $route.params.id }}</p><router-link to="/user/childone">ChildOne</router-link><router-link to="/user/childtwo">ChildOne</router-link><router-view></router-view></p>&#39;,
   }

   // 子路由
   const userChildOne = {
    template:&#39;<p>我是 userChildOne</p>&#39;
   }
   const userChildTwo = {
    template:&#39;<p>我是 userChildTwo</p>&#39;
   }
  const router = new VueRouter({
   routes:[
     {path:&#39;/user/:id&#39;,component:User,
      children:[ // 用法和参数和routes 一样
       {path:"/user/childone",component:userChildOne},
       {path:"/user/childtwo",component:userChildTwo}
      ]

     }
   ]
  });

  var myVue = new Vue({
    router
  }).$mount("#myp")
Nach dem Login kopieren
4. Benannte Routen

1. Benennen Sie die Route, um den Routensprung anzugeben

HTML:


JS:
<p id="myp">
<!-- 要用v-bind 的绑定to -->
 <router-link :to="{name:&#39;userOne&#39;,params:{userId:&#39;123&#39;}}">Go to foo</router-link> 
 <router-link :to="{name:&#39;userTwo&#39;,params:{userId:&#39;456&#39;}}">Go to bar</router-link> 

  <router-view></router-view>
</p>
Nach dem Login kopieren


const User = {
   template:&#39;<p>我的ID是{{ $route.params.userId }}</p>&#39;,
   watch:{
    &#39;$route&#39;(to,form){
     console.log(to);
     console.log(form);
    }
   }
  }

  const router = new VueRouter({
   routes:[
   // name 一一对应上
     {path:&#39;/user/:userId&#39;,name:"userOne",component:User},
     {path:&#39;/user/:userId&#39;,name:"userTwo",component:User}
   ]
  });

  var myVue = new Vue({
    router
  }).$mount("#myp")
Nach dem Login kopieren
5

1. Benennen Sie die Rendering-Ansicht router-view, um anzugeben, welche Ansicht die Komponente rendert


HTML:


JS:
<p id="myp">
<!-- 要用v-bind 的绑定to -->
 <router-link :to="{name:&#39;userOne&#39;,params:{userId:&#39;123&#39;}}">Go to foo</router-link> 
 <router-link :to="{name:&#39;userTwo&#39;,params:{userId:&#39;456&#39;}}">Go to bar</router-link> 
<!-- 视图命名 如果不写name 则为默认为 default-->
  <router-view></router-view>
  <router-view name=&#39;b&#39;></router-view>
</p>
Nach dem Login kopieren


// 四个模板
  const UserA = {
   template:&#39;<p>我是one,ID是{{ $route.params.userId }}</p>&#39;,
  }
  const UserB = {
   template:&#39;<p>我是two,ID是{{ $route.params.userId }}</p>&#39;,
  }
  const UserC = {
   template:&#39;<p>我是three,ID是{{ <1ro></1ro>ute.params.userId }}</p>&#39;,
  }
  const UserD = {
   template:&#39;<p>我是four,ID是{{ $route.params.userId }}</p>&#39;,
  }
  const router = new VueRouter({
   routes:[
   // name 一一对应上
     { 
      path:&#39;/user/:userId&#39;,
      name:"userOne",
      components:{ // 注意这里为components 多个“ s ”
        default:UserA,
        b:UserB
      }
     },
     { 
      path:&#39;/user/:userId&#39;,
      name:"userTwo",
      components:{
        default:UserD,
        b:UserC
      }
    }
   ]
  });

  var myVue = new Vue({
    router
  }).$mount("#myp")
Nach dem Login kopieren
6. Weiterleitungen und Aliase

Weiterleitungen und Aliase Was ist eine Umleitung?

『Umleitung』 bedeutet, dass die URL durch /b ersetzt wird, wenn der Benutzer auf /a zugreift, und die entsprechende Route dann /b ist,

『Alias』 / Der Alias ​​für a ist /b, was bedeutet, dass, wenn der Benutzer /b besucht, die URL /b bleibt, die Routenübereinstimmung jedoch /a ist, genau so, als ob der Benutzer /a besucht hätte. Der Alias ​​für /a ist /b, was bedeutet, dass, wenn ein Benutzer auf /b zugreift, die URL /b bleibt, die Routenübereinstimmung jedoch /a ist, genau so, als ob der Benutzer auf /a zugegriffen hätte.

Redirect verwendet hauptsächlich Parameter: Redirect und Alias ​​verwenden hauptsächlich Parameter: Alias ​​



HTML:


JS:
<p id="myp">
 <h2>效果查看地址栏最后面的变化</h2>
 <router-link to="/User/foo">Go to foo</router-link> 
 <router-link to="/User/bar">Go to bar</router-link> 
 <router-link to="/User/Car">Go to bar</router-link> 

  <router-view></router-view>
</p>
Nach dem Login kopieren


Verwandte Empfehlungen:
  const User = {
   template:&#39;<p>我是同一个页面</p>&#39;,
  }
  const router = new VueRouter({
   mode:"history",
   routes:[
     { path:&#39;/User/foo&#39;,component:User},
     { path:&#39;/User/bar&#39;,redirect: &#39;/User/foo&#39;,component:User},
     // 重定向的目标也可以是一个命名的路由:
     // 甚至是一个方法,动态返回重定向目标:

     // 别名设置
     { path:&#39;/User/foo&#39;,alias: &#39;/User/Car&#39;}

   ]
  });

  var myVue = new Vue({ 
    router
  }).$mount("#myp")
Nach dem Login kopieren

Vue-Router implementiert Tab-Tab-Seite

Basierend auf Vue , Vuex, Vue-Router zur Realisierung der Animationsumschaltfunktion

Drei Arten von Vue-Router zur Realisierung des Springens zwischen Komponenten

Das obige ist der detaillierte Inhalt vonTeilen grundlegender Routing-Beispiele von Vue-Router. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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