• vue的prototype和拦截器


    Vue.prototype 官网地址

    如果需要设置全局变量,在main.js中,Vue实例化的代码里添加。

    不想污染全局作用域。这种情况下,你可以通过在原型上定义它们使其在每个 Vue 的实例中可用。

    Vue.prototype.$appName = ‘My App’

    这样 $appName 就在所有的 Vue 实例中可用了,甚至在实例被创建之前就可以。如果我们运行:

    new Vue({
      beforeCreate: function () {
        console.log(this.$appName)
      }
    })

    则控制台会打印出 My App。就这么简单!  $appName前面的$主要为了区分,防止重名。

    Vue 拦截器

    • 拦截器: 对特定的http请求或响应消息或请求头进行验证,拦截不合法的http交互以保证web环境的安全。
    • 拦截器起一个拦截作用拦,在请求接口时,多一次或多次验证。例如:你写了几个请求数据的接口,开启服务后,用户没登录直接访问这些接口,也是可以拿到数据的,但这就违背了后台管理系统必须先登录的原则,一些不良用心的人就会利用这个漏洞来窃取你的数据库数据了。这时就需要到拦截器了。
    • 前后台交互一定要遵循一个原则:互不信任原则。前端发送到后台的参数(必须在前端验证合法的才能发送),后台必须验证是否合法(是否符合该参数的原定数据类型和值范围),后台返回给前端的数据,也必须验证是否为约定的数据结构和值类型。

    拦截器原理和实现

    • 这里引用第三方的ajax库 –> axios
    • axios: 基于ES6新语法promise的一个前端ajax库
       // http请求拦截
        axios.interceptors.request.use(config => {
           //请求拦截
            return config;
        });
        // http响应拦截
        axios.interceptors.response.use(response => {
            //响应拦截
            return response;
        });    
  • 相关阅读:
    Python从入门到精通系列文章总目录
    使用465端口加密发邮件
    kubernetes学习14—Dashboard搭建和认证
    kubernetes学习01—kubernetes介绍
    CSS基础
    SVN 命令行的使用
    Python判断字符集
    Flask框架(2)-JinJa2模板
    搭建ntp服务器
    Ansible的Playbook的编写
  • 原文地址:https://www.cnblogs.com/liangtao999/p/12840868.html
Copyright © 2020-2023  润新知