美文网首页
2018-05-31(表严肃)笔记四

2018-05-31(表严肃)笔记四

作者: 多佳小昕 | 来源:发表于2018-05-31 20:38 被阅读0次

一、路由

不需要每次更新页面都重新取一次数据,只需要取一次。

  1. 配置
    出现错误:将vue-router文件放在了js主文件的后面。调整过来错误消失。
var routes = [
    {
        path:'/',
         component: {
            template:`
            <div>
            <h1>首页</h1>
            </div>
            `,
        },
    },
    {
        path:'/about',
         component: {
            template:
            `
            <div>
            <h1>关于我们</h1>
            </div>
            `,
        },
    },
    ];
     var router = new VueRouter({
          routes: routes,
        });
    new Vue({
        el:'#seg1',
        router:router,
    });
  1. 传参
{
    path: '/user/:name',
    component: {
      template: `
      <div>
        <h1>我叫{{$route.params.name}}</h1>
        // 通过url里面的一部分
        <h1>我{{$route.query.age}}岁了</h1>
        // 通过URL中加?age=年龄来传参
      </div>
      `,
    },
  },
  1. 子路由
    加载路由页面的里面,component后面
{
        path: '/user/:name',
        component: {
          template: `
          <div>
            <h1>我叫{{$route.params.name}}</h1>
            <h1>我{{$route.query.age}}岁了</h1>
           <router-link :to="'/user/' + $route.params.name +'/more'">更多信息</router-link>
            <router-view></router-view>
          </div>
          `,
        },
         // <router-link to="more" append>更多信息</router-link>
        // <router-link :to="'/user' + $route.params.name +'/more'">更多信息</router-link>
        children:[
       {
        path: 'more',
        component: {
          template: `
          <div>
            用户{{$route.params.name}}的详细信息
            傻傻傻
          </div>
          `,
        },
      },
    ],
   },
  1. 手动访问和传参
    一个点击方法:
        methods:{
          get:function () {
            setTimeout(function(){
              this.router.push('/about');
              setTimeout(function(){
                this.router.push({name:'user',params:{name:'王花花'}});
              },2000)
            },2000)
          }
        }
  1. 命名视图
    页面中的命名视图最好只有两个,多了不好维护
   <div>
       <router-link to="/">首页</router-link>
       <router-link to="/user">用户管理</router-link>
   </div>
   <div>
     <router-view name="sidebar"></router-view>
     <router-view name="content"></router-view>
   </div>
 {
        path: '/user',
        components: {
          sidebar:{
            template: `
          <div>
            <ul>
             <li>用户列表</li>
             <li>权限管理</li>
            </ul>
          </div>
          `,
          },
          content:{
           template: `
          <div>
            用户管理
          </div>
          `,
          }
        },
   },
  1. 导航钩子
    检查路由:
    beforeEach:将登陆值设置为false,
    如果已经登陆,就正常跳转,如果没有就跳转到登陆页。
    afterEach:判断一些信息
    router.beforeEach(function (to,from,next) {
     var logged = false;
     if(!logged && to.path == '/post')
      next('/login');
    else 
     next();
    });
    router.afterEach(function (to,from) {
   //判断前一页下一页
    });
```-

相关文章

  • 2018-05-31(表严肃)笔记四

    一、路由 不需要每次更新页面都重新取一次数据,只需要取一次。 配置出现错误:将vue-router文件放在了js主...

  • CSS【框】- 表严肃

    https://www.bilibili.com/video/av7293888/index_15.html@表严...

  • 表严肃讲NPM

    npm的常用操作 初始化 安装 卸载 更新 在npm中,包(package)、模块(module)、依赖(depe...

  • 表严肃讲Vue

    vue的安装及语法 v-model v-showmain.js index.html v-for指令 main.j...

  • 不知所云

    2018-05-31 裴十九呀 2018-05-31 21:03 · 字数 1209 · 阅读 0 · 日记本 唔...

  • 2018-05-19 (表严肃)笔记一

    一、指令 指令 = 自定义属性 1. v-model 双向绑定 v-model.lazy/trim/number延...

  • 2018-05-28(表严肃)笔记三

    三、过滤器及自定义组件 过滤器webstorm中,中文字符串显示不出来 自定义组件 基础配置vue.directi...

  • 2018-05-23 (表严肃)笔记二

    二、组件 全局及局部组件 配置组件点赞的实现: 组件通信之父子通信(1) 父子通信 props: 在当前页面中点击...

  • 2018-06-01

    2018-05-31 温州铭源 2018-05-31 22:13 · 字数 208 · 阅读 3 · 日记本 20...

  • 2018-05-31

    2018-05-31 温州铭源 2018-05-31。21:47 · 字数 152 · 阅读 5 · 日记本 20...

网友评论

      本文标题:2018-05-31(表严肃)笔记四

      本文链接:https://www.haomeiwen.com/subject/prkcsftx.html