钩子函数

vue的路由守卫

心已入冬 提交于 2020-02-14 12:12:44
vue的路由守卫 vue路由守卫实现代码 router.beforeEach((to,from,next)=>{ if(to.path == '/login'){ next(); }else{ alert('您还没有登录,请先登录'); next('/login'); } }) 各参数含义 1.to 表示将要跳转到的组件 2.from原组件 3.next()进入到下一个组件的钩子函数 4.next(/login)进入指定的组件的钩子函数 来源: CSDN 作者: 曹豆芽 链接: https://blog.csdn.net/qq_41108972/article/details/104307275

flask钩子函数

。_饼干妹妹 提交于 2020-01-29 05:12:17
类似 django 中间件 面向切面编程 before_request after_request 日志统计 ,权限认证, 节流, 反爬虫,优先级控制 @app.before_request #在请求之前 def before ( ) : print ( '我监视到你了' ) g.msg = '互联网不是法外之地,请您时刻遵纪守法' #flask四大内置对象之一 @app.after_request #在请求之后,里面设置的常量不管用 def after ( res ) : print ( '监视结束' ) return res 来源: CSDN 作者: 扣剑书生 链接: https://blog.csdn.net/weixin_44038167/article/details/103619597

前端面试(一)

血红的双手。 提交于 2020-01-23 22:56:59
2020年1月4日面试问题梳理: 1、Vue相对于原生JS的优势在哪里 认知 现代JS框架存在的根本原因是保持UI与状态同步 核心思想 数据驱动 DOM 核心功能 数据双向绑定 组件(Component) 核心概念 异步更新队列 el: el用于指定一个页面中已存在的DOM元素来挂载Vue实例。 beforeDestroy生命周期:实例销毁之前调用。主要解绑一些使用addEventListener 监听事件等 时间定时器 const timer = setInterval ( function ( ) { that . date = new Date ( ) ; } , 1000 ) clearInterval ( timer ) filter: Vue的过滤器 v-text&v-html v-html: 如果将用户产生的内容使用 v-html 输出后,有可能导师XSS攻击,所以要在服务端对用户提交的内容进行处理,一般可将尖括号“<>”转义 v-pre: < span v - pre > { { 这里的内容不会被编译 } } < / span > vue.js只支持单个表达式,不支持语句和流控制。 v-bind & v-on :语法糖分别是“:”&"@" 语法糖:语法糖是指在不影响功能的情况下,添加某种方法实现同样的效果,从而方便程序开发。 Vue 在检测到数组变化时

关于react hooks

情到浓时终转凉″ 提交于 2020-01-19 00:08:17
一、react的组件 react的核心是组件,react有两种组件类:有状态组件(class)和无状态组件(function)。 有状态组件(class)常常使代码变的冗余而复杂,例如下面一个简单的button组件: import React, { Component } from "react"; export default class Button extends Component { constructor() { super(); this.state = { buttonText: "Click me, please" }; this.handleClick = this.handleClick.bind(this); } handleClick() { this.setState(() => { return { buttonText: "Thanks, been clicked!" }; }); } render() { const { buttonText } = this.state; return <button onClick={this.handleClick}>{buttonText}</button>; } } 可以看出代码已经很重了。 Redux 的作者 Dan Abramov 总结 了组件类的几个缺点。 大型组件很难拆分和重构,也很难测试。

Vue生命周期钩子函数加载顺序

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-18 03:37:57
首先创建子组件 <template> <div> <span>我是子组件</span> </div> </template> <script> export default { name: "Children", data() { return { } } , beforeCreate() { console. log ( "子组件beforeCreate" ) } , created() { console. log ( "子组件created" ) } , beforeMount() { console. log ( "子组件beforeMount" ) } , mounted() { console. log ( "子组件mounted" ) } , beforeUpdate() { console. log ( "子组件beforeUpdate" ) } , updated() { console. log ( "子组件updated" ) } , beforeDestroy() { console. log ( "子组件beforeDestroy" ) } , destroyed() { console. log ( "子组件destroyed" ) } } </script> 将子组件引入在父组件中使用 <template> <div> <children><

vue生命周期钩子函数详解

最后都变了- 提交于 2020-01-16 14:58:53
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_35585701/article/details/81216704 先放一张官网生命周期图: vue有8种生命周期函数: 钩子函数 触发的行为 在此阶段可以做的事情 beforeCreadted vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。 加loading事件 created vue实例的数据对象data有了,$el还没有 结束loading、请求数据为mounted渲染做准备 beforeMount vue实例的$el和data都初始化了,但还是虚拟的dom节点,具体的data.filter还未替换。 ... mounted vue实例挂载完成,data.filter成功渲染 配合路由钩子使用 beforeUpdate data更新时触发 updated data更新时触发 数据更新时,做一些处理(此处也可以用watch进行观测) beforeDestroy 组件销毁时触发 destroyed 组件销毁时触发,vue实例解除了事件监听以及和dom的绑定(无响应了),但DOM节点依旧存在 组件销毁时进行提示 测试代码: 组件模板自己试着写就好,此处贴js代码 (省略部分代码)

django之forms组件和cookie与session操作

不问归期 提交于 2020-01-14 00:43:40
目录 django之forms组件和cookie与session操作 forms组件 forms主要功能 普通方式手写注册功能 views.py login.html forms组件 先定义一个类和导入: 如何校验数据 如何渲染页面的三种方法 如何渲染错误信息 label 将英文修改成中文 校验:邮箱格式是否正确 forms的常用参数 钩子函数: 全局钩子 局部钩子 正则简单用法: 基于使用form组件实现注册功能 views.py login2.html cookie与session操作 Cookie的介绍 什么是Cookie Cookie的原理 查看Cookie Django中操作Cookie Cookie 获取Cookie Session 保存在服务端上的键值对 设置会话Session和Cookie的超时时间 删除当前会话的所有Session数 验证以上cookie和session的代码 装饰器模板 views.py 登录功能 views.py urls.py html django之forms组件和cookie与session操作 forms组件 forms主要功能 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 注意点: 注册页面: 用户点击注册发送到后端做用户名密码的校验。 用户不能含敏感词,不符合社会主义核心价值观。 密码不能为空。 需求:

pod的俩中钩子

不打扰是莪最后的温柔 提交于 2020-01-10 03:41:15
PodHook Pod Hook 是由 kubelet 发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。我们可以同时为 Pod 中的所有容器都配置 hook。 Kubernetes 为我们提供了两种钩子函数: PostStart:这个钩子在容器创建后立即执行。但是,并不能保证钩子将在容器ENTRYPOINT之前运行,因为没有参数传递给处理程序。主要用于资源部署、环境准备等。不过需要注意的是如果钩子花费太长时间以至于不能运行或者挂起, 容器将不能达到running状态。 PreStop:这个钩子在容器终止之前立即被调用。它是阻塞的,意味着它是同步的, 所以它必须在删除容器的调用发出之前完成。主要用于优雅关闭应用程序、通知其他系统等。如果钩子在执行期间挂起, Pod阶段将停留在running状态并且永不会达到failed状态。 如果PostStart或者PreStop钩子失败, 它会杀死容器。所以我们应该让钩子函数尽可能的轻量。当然有些情况下,长时间运行命令是合理的, 比如在停止容器之前预先保存状态。 有两种方式来实现上面的钩子函数: Exec - 用于执行一段特定的命令,不过要注意的是该命令消耗的资源会被计入容器。 HTTP - 对容器上的特定的端点执行HTTP请求。 一:使用exec方式实现钩子函数 apiVersion : v1 kind

另辟蹊径:vue单页面,多路由,前进刷新,后退不刷新

只谈情不闲聊 提交于 2020-01-08 01:58:52
另辟蹊径:vue单页面,多路由,前进刷新,后退不刷新 vue.js vue-cli vue-router javascript 阅读约 16 分钟 目的:vue-cli构建的vue单页面应用,某些特定的页面,实现前进刷新,后退不刷新,类似app般的用户体验。 注: 此处的刷新特指当进入此页面时,触发ajax请求,向服务器获取数据。不刷新特指当进入此页面时,不触发ajax请求,而是使用之前缓存的数据,以便减少服务器请求,用户体验更流畅。 项目需求: 任何技术的探索,都来自项目的需求。之前经手的一个项目是微信端商城,使用的是传统的mvc模式,利用的是jq+js,因此对于商城的项目需求比较熟悉。目前在学习vue,练手一个商城,遇到之前经常提及而无法很好解决的需求。有些页面需要前进刷新,后退不刷新。比如,从商城的【首页】-->【详情页】-->【订单提交页】,每次打开新页面都需要获取新数据,但是按下返回键后,就不需要再获取新数据了,而滚动条还保留在之前的位置。最常见的操作是从【首页】-->【详情页】,然后在从【详情页】-->【首页】,如此反复。 实例如图: 前人经验: 前人栽树,后人好乘凉。技术圈的分享一直都在蓬勃发展。遇到问题,我们可以尽情去搜索,去寻找大佬的足迹。针对上述需求,看到一个分享 vue-router 之 keep-alive ,比较符合我的需求,但是使用到我的项目上发现

Vue生命周期与钩子探究

隐身守侯 提交于 2020-01-07 21:17:15
Vue实例从创建到销毁的过程,就是生命周期。详细来说也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。 首先我们来看一下生命周期图: 钩子在组件树中的调用时机 先直接看一个例子: import Vue from 'vue'; Vue.component('Test', { props: { name: String }, template: `<div class="test">{{ name }}</div>`, beforeCreate() { console.log('Test beforeCreate'); }, created() { console.log('Test created'); }, mounted() { console.log('Test mounted'); }, beforeDestroy() { console.log('Test beforeDestroy'); }, destroyed() { console.log('Test destroyed'); }, beforeUpdate() { console.log('Test beforeUpdate'); }, updated() { console.log('Test updated'); } }); Vue.component('Test1', {