• vue 之watch 监听路由地址的改变


    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./js/vue.js"></script>
      <script src="./js/vue-router-3.0.1.js"></script>
    </head>
    
    <body>
      <div id="app">
    
        <!-- 如果在路由中,使用查询字符串,则不需要修改 路由匹配规则 -->
        <router-link to="/login">登录</router-link>
        <router-link to="/register">注册</router-link>
    
        <!-- 容器 -->
        <router-view></router-view>
      </div>
    
      <script>
        var login = {
          // this默认指当前组件实例,在插值表达式中this可以省略
          template: '<h1>登录组件</h1>',
        };
    
        var register = {
          template: '<h1>注册组件</h1>'
        }
    
        var router = new VueRouter({
          routes: [
            { path: '/login',component: login},
            { path: '/register',component: register},
          ]
        })
    
        //创建Vue实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {},
          methods: {},
          router: router, //将路由规则挂载到vm实例中
          watch:{
            // 监听 this.$route.path     watch监听非DOM元素的改变
            '$route.path':function(newVal,oldVal){
              // console.log(newVal + '---' +  oldVal);
              if(newVal === '/login'){
                console.log('欢迎进入登录页面');
              }else if(newVal === '/register'){
                console.log('欢迎进入注册页面');
              }
            }
          }
        });
      </script>
    </body>
    
    </html>
    

      

  • 相关阅读:
    虚函数中的变量作用域问题
    C++技能重拾2
    C++技能重拾
    位运算取第一个非0的位 r & (~(r-1))
    ThoughtWorks微服务架构交流心得
    字符串匹配的sunday算法
    Codeforces Round #270(利用prim算法)
    HDFS建筑与shell操作
    Spark SQL 源代码分析系列
    HDU 4686 Arc of Dream(递归矩阵加速)
  • 原文地址:https://www.cnblogs.com/linm/p/12522334.html
Copyright © 2020-2023  润新知