router-link 命名路由

如果对路由还不是很理解,可以点击这里查看文章


假设我们有一个需求,界面有一个按钮,单独点击该按钮就可以实现页面的刷新。 没有什么前提,我们直接甩个a元素就行了 如果要实现局部刷新,我们就做一个页面路由

至于这个页面路由怎么做才相对合理?就是这篇文章要讲的内容了

  • html: ```HTML
###### 下面两段代码我们在上一篇文章已经有所了解,这里不多说
- JavaScript:
```JavaScript
        // 1. 安装插件
        Vue.use(VueRouter);
        // 2. 自定义组件页面
        var Login = {
            template: `<div>登录界面</div>`
        }

        var Register = {
            template: `<div>注册界面</div>`
        }
        

在创建路由的时候,我们可以这样做

        // 3. 创建路由
        var router = new VueRouter({
           
            // 4. 配置路由对象
            routes: [

                {  path: "/login", component: Login },
                {  path: "/register", component: Register }

            ] 

        });
        var App = {
            template: `
                <div>
                    <router-link to="/login">点我登录</router-link>
                    
                    /*
                    *    <router-link to="/login">点我登录</router-link>
                    *    <router-link to="/login">点我登录</router-link>
                    *    <router-link to="/login">点我登录</router-link>
                    */
                    
                    <router-link to="/register">点我注册</router-link>
                    <router-view></router-view>
                </div>
            `
        }

但这样一来,如果多个按钮对应一个路由地址,一旦要修改路由名,就要修改多个linkto地址,即“router-link to=”/login””中的login。这是十分不方便的

为了方便开发人员,就出现了命名路由的概念,如下
        // 3. 创建路由
        var router = new VueRouter({
           
            // 4. 配置路由对象
            routes: [

                // 此处多了个命名 name
                { name: "login", path: "/login", component: Login },
                { name: "register", path: "/register", component: Register }

            ] 

        });

在数组routes中,给每一个路由对象加上name属性(name: “login”)

        var App = {
            template: `
                <div>
                    <router-link :to="{name:'login'}">点我登录</router-link>
                    <router-link :to="{name:'register'}">点我注册</router-link>
                    <router-view></router-view>
                </div>
            `
        }

路由通过绑定的name属性进行跳转(:to=”{name:’login’}”),就无需重复绑定路由了。

注意”to”前需要加上“:”,否则” “会把引号里面的东西转换成字符串。
        
        new Vue({
            el: '#app',

            router: router, // 将配置好的路由对象关联到vue实例中
            components: {
                app: App
            },
            template: `<app />`

        })

总结:router-view是用于装载页面的地方,不能删。给路由设置name属性,链接才能进行对应的路由跳转