Vue实例的生命周期:

beforeCreate:  

  实例创建之前除标签外,所有的vue实例需要的数据,事件都不存在

created: 

  实例被创建之后,data和事件已经被解析到,el还没有找到

beforeMount:

开始找标签,数据还没有被渲染,事件也没有被监听

mounted: 

开始渲染数据,开始监听事件

beforeUpdat:

数据已经被修改在虚拟DOM,但是没有被渲染到页面上

updated:

开始使用Diff算法,将虚拟DOM中的修改应用到页面上,此时真实DOM中的数据被修改了

beforeDestroy:

所有的数据都存在

destroy:

所有的数据都有(虚拟DOM中找的)

<keep-alive></keep-alive> Vue提供的用来缓存被消除的标签

用activated和deactivated取代了beforeDestroy和destroyed的执行

用 Vue.js + Vue Router 创建单页应用,是非常简单的。使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 Vue Router 添加进来,我们需要做的是,将组件 (components) 映射到路由 (routes),然后告诉 Vue Router 在哪里渲染它们。

  • 第一步, 在根实例中使用,
  • 第二步, 实例化一个router对象,本质上是将路径和页面内容绑定了对应关系
  • 第三步, 在根实例中注册router对象
  • 第四步, router-link会渲染成a标签,to会变成href属性,to后面是router中定义的路径
  • 第五步, router-view是页面内容的渲染出口
  • 2.1 VueRouter的实现原理
  • <script>
    let oDiv = document.getElementById("app"); window.onhashchange = function () {
    switch (location.hash) {
    case '#/login':
    oDiv.innerHTML = `<h1>这是登录页面</h1>`;
    break;
    case '#/register':
    oDiv.innerHTML = `<h1>这是注册页面</h1>`;
    break;
    default:
    oDiv.innerHTML = `<h1>这是首页</h1>`;
    break;
    }
    }
    </script>
  • 2.2 VueRouter安装使用,需要下载使用:
    • <script src="https://unpkg.com/vue/dist/vue.js"></script>
    • <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
  • 2.3 VueRouter之命名路由
  • 2.4 VueRouter之路由参数
  • 2.5 VueRouter之路由参数的实现原理
  • 2.6 VueRouter之子路由
  • 2.7 VueRouter之子路由append
  • 2.8 VueRouter之路由重定向
  • 2.9 VueRouter之路由的钩子函数
  • 2.10 VueRouter之路由钩子实现登录验证
  • 2.12 VueRouter实现路飞前端页面

Vue: 生命周期, VueRouter的更多相关文章

  1. Vue生命周期,面试常见问题

    一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...

  2. Vue系列(二):发送Ajax、JSONP请求、Vue生命周期及实例属性和方法、自定义指令与过渡

    上一篇:Vue系列(一):简介.起步.常用指令.事件和属性.模板.过滤器 一. 发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 ...

  3. Vue ---- 项目与环境搭建 初始项目结构 Vue生命周期

    目录 1. vue环境搭建 2. Vue项目搭建 pycharm配置并启动vue项目 3 . 认识项目 1. vue项目目录结构 2. 配置文件:vue.config.js 3. main.js 4. ...

  4. Vue生命周期钩子---3

    vue生命周期流程图:4张图 : 生命周期的解析和应用: Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列过程,我们称这是 Vue ...

  5. 14、前端知识点--Vue生命周期浅析

    vue生命周期 每个Vue实例或组件从创建到显示再到废弃的过程就是vue的生命周期.很多时候我们希望能在这个过程中执行一些操作,于是就有了生命周期钩子. 生命周期钩子函数允许我们在实例不同阶段执行各种 ...

  6. vue生命周期的介绍

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. vue 生命周期

    一 vue的生命周期如下图所示(很清晰) 二 vue生命周期的栗子 注意触发vue的created事件以后,this便指向vue实例,这点很重要 <!DOCTYPE html> <h ...

  8. 详解vue生命周期

    vue生命周期 @(vue)[生命周期] 前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周 ...

  9. 关于vue生命周期

    官网给出的实例的生命周期图如下: beforeCreate(页面创建前),created(页面创建后),beforeMount(页面载入前),mounted(页面载入后),beforeUpdate(页 ...

随机推荐

  1. Tomcat在Linux下的安装

    按部就班的把 tomcat 上传到 Linux 我创建了一个文件夹用作存放解压文件 ( tomcat只要解压就可以使用 ) 解压  :  tar -xvf apache-tomcat-7.0.52.t ...

  2. php防sql注入过滤代码

    防止sql注入的函数,过滤掉那些非法的字符,提高sql安全性,同时也可以过滤XSS的攻击. function filter($str) { if (empty($str)) return false; ...

  3. web端权限维持【好文】

    前言 关于权限维持,我之前写过一篇基于系统端的后门技术文章,如映像劫持啊,lpk之类. 内容目录: - 构造文件包含漏洞- 隐蔽性脚本木马- 构造sql注入点 正文 0x01 构造文件包含漏洞 > ...

  4. MySQL 主从复制相关参数

    列举了MySQL主从复制主要的相关参数 binlog server_id 服务器在集群中唯一标识符 log_bin[=binlog_name] 启动二进制日志 log_bin_index 二进制日志索 ...

  5. MySQL 5.6不删空用户的影响

    目录 MySQL 5.6不删空用户的影响 问题 分析 测试 启动mysqld时没有加上--skip-name-resolve 启动mysqld时加上--skip-name-resolve 结论 MyS ...

  6. 基于iview的后台管理

    年前由于时间紧迫,原本使用iview技术开发后台管理系统的大神另有任务,我中途接手该项目,此前对于iview一无所知的我是一脸的懵逼,好在后台管理的整体框架大神已经搭建好了,而我之前对vue也有一定的 ...

  7. BIND DNS拒绝服务漏洞 CVE-2016-2776修复

    接到此漏洞之后,略微查了一下相关描述,发现漏洞影响范围很大,可能造成的影响也很严重,于是着手进行修复. 漏洞的详细信息可见如下链接: http://www.cnvd.org.cn/flaw/show/ ...

  8. javascript中对条件判断语句的优化 分类: JavaScript 2015-06-07 09:54 832人阅读 评论(2) 收藏

    不管写什么程序,平时都会用到条件语句,如:if...else... switch这样的语句,来达到对条件的判断.下面看来一段代码: function abc(test){ if (test == 1) ...

  9. 改善android性能工具篇【zipalign】

    什么是Zipalign?      Zipalign是一个android平台上整理APK文件的工具,它首次被引入是在Android 1.6版本的SDK软件开发工具包中.它能够对打包的Android应用 ...

  10. spring 资源访问

    spring 资源访问 Resource resource=null; //访问网络资源 resource=new UrlResource("file:bool.xml"); // ...