路由

Vue.js 路由

泪湿孤枕 提交于 2020-03-03 15:47:11
Vue.js 路由允许我们通过不同的 URL 访问不同的内容 Vue.js 路由需要载入 vue-router 库 安装,推荐使用淘宝镜像: cnpm install vue-router Vue.js + vue-router 可以很简单的实现单页应用 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script> <script src="https://cdn.staticfile.org/vue-router/2.7.0/vue-router.min.js"></script> <div id="demo"> <h1>hello, cyy~</h1> <!-- 使用router-link来导航,to指定链接,默认会被渲染成a标签--> <router-link to="/about">about</router-link> <router-link to="/contact">contact</router-link> <hr> <!-- 路由出口,匹配到的组件将渲染在这里--> <router-view></router

Vue项目中IE11兼容性问题记录

那年仲夏 提交于 2020-03-03 15:15:17
1. 判断IE浏览器版本 // 获取IE版本 function IEVersion() { // 取得浏览器的userAgent字符串 var userAgent = navigator.userAgent; // 判断是否为小于IE11的浏览器 var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; // 判断是否为IE的Edge浏览器 var isEdge = userAgent.indexOf('Edge') > -1 && !isLessIE11; // 判断是否为IE11浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1; if (isLessIE11) { var IEReg = new RegExp('MSIE (\\d+\\.\\d+);'); // 正则表达式匹配浏览器的userAgent字符串中MSIE后的数字部分,,这一步不可省略!!! IEReg.test(userAgent); // 取正则表达式中第一个小括号里匹配到的值 var IEVersionNum = parseFloat(RegExp['$1']);

vue router 报错: Uncaught (in promise) NavigationDuplicate{_name: "NavigationDuplicated"} 解决方案

对着背影说爱祢 提交于 2020-03-03 11:43:15
vue-router ≥3.0版本回调形式以及改成promise api的形式了,返回的是一个promise,如果路由地址跳转相同, 且没有捕获到错误,控制台始终会出现如图所示的警告 (注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…) 方案一: 安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本 npm install @vue-router2.8.0 -S 方案二: 针对于路由跳转相同的地址添加catch捕获一下异常: this.$router.push('/location').catch(err => { console.log(err) }) 方案三: 在main.js下注册一个全局函数即可 (注:此处理方案只针对于vue-router 3.0以上版本哈!!!) import Router from 'vue-router' const originalPush = Router.prototype.push Router.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } 注:官方vue-router ≥3.0新版本路由默认回调返回的都是promise,原先就版本的路由回调将废弃

IPtables概念和功能

為{幸葍}努か 提交于 2020-03-03 07:56:08
IPTABLES四张表&五条链 iptables具有Filter, NAT, Mangle, Raw四种内建表。 IPTABLES数据包流程 数据包先经过PREOUTING,由该链确定数据包走向:  目的地址是本地,则发送到INPUT,让INPUT决定是否接收下来送到用户空间,流程为①--->②;  若满足PREROUTING的nat表上的转发规则,则发送给FORWARD,然后再经过POSTROUTING发送出去,流程为: ①--->③--->④--->⑥;  主机发送数据包时,流程则是⑤--->⑥;  其中PREROUTING和POSTROUTING指的是数据包的流向,如上图所示POSTROUTING指的是发往公网的数据包,而PREROUTING指的是来自公网的数据包。 Linux下IPtables下Filter表 Filter表示iptables的默认表,因此如果你没有自定义表,那么就默认使用filter表,它具有以下三种内建链:  INPUT链 – 处理来自外部的数据;  OUTPUT链 – 处理向外发送的数据;  FORWARD链 – 将数据转发到本机的其他网卡设备上。 Linux下IPtables下NAT表 NAT (网络地址转换) 技术在平时是很多见的,如家庭中在使用路由器共享上网时,一般用的就是 NAT 技术,它可以实现众多内网 IP 共享一个公网 IP

tcp拥塞控制

ε祈祈猫儿з 提交于 2020-03-03 04:52:24
1.引言 计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。 2.慢开始与拥塞避免 发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口,另外考虑到接受方的接收能力,发送窗口可能小于拥塞窗口。 慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。 这里用报文段的个数的拥塞窗口大小举例说明慢开始算法,实时拥塞窗口大小是以字节为单位的。如下图: 当然收到单个确认但此确认多个数据报的时候就加相应的数值。所以一次传输轮次之后拥塞窗口就加倍。这就是乘法增长,和后面的拥塞避免算法的加法增长比较。 为了防止cwnd增长过大引起网络拥塞,还需设置一个慢开始门限ssthresh状态变量。ssthresh的用法如下: 当cwnd<ssthresh时,使用慢开始算法。 当cwnd>ssthresh时,改用拥塞避免算法。 当cwnd=ssthresh时

Python大神 - Django(深层学习)-- urls配置

自古美人都是妖i 提交于 2020-03-03 00:24:14
urls又称路由系统 一、url 用法 1 注意写法: 2 url(r'^form/$',views.userform,name='form_one') # 函数的写法 3 url(r'^form/$',views.userform.as_view(),name='form_one') # 类的写法 4 1)域名部分会被过滤掉 5 2)form前面不需要添加/,因为前序url的末尾一定会有/ ( url(r'^form/(\d{4})/$) 6 3)任何组匹配的变量,都会以字符串的形式传递给view(可以是一个函数,也可以是类) 二、url简单形式(单一对应) url(r'^index$', views.index), 三、url正则匹配(无法把分组的串传递给后台) url(r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive') 四、url正则匹配,(把分组的数据传递给后台) 利用named group来传递参数 url(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive') view获取数据 class TestView(View): def get(self,year,month) pass year,month

vue路由懒加载(resolve)

青春壹個敷衍的年華 提交于 2020-03-02 21:40:41
懒加载:又叫延时加载,即在需要的时候进行加载,随用即载 使用懒加载的原因: 像vue这种(spy)单页面应用,如果没有使用到懒加载,webpack打包的文件过大,造成进入首页时,加载的资源过多,时间过长,即使做了loading也不利于用户体验,而运用懒加载可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载事件,简单来说就是进入首页不用一次加载过多资源造成时间过长 懒加载的使用方法: import Vue from "vue"; import VueRouter form "vue-router"; Vue.use(VueRouter); export default new Router({ mode:"history", routes:[ { path:"/", redirect:"/login" }, { path:"/login", component:resolve=>require(["../components/login.vue"],resolve) children:[ { path:"/home", component:resolve=>require(["../components/home.vue"],resolve) } ] } ] }) 来源: CSDN 作者: loverxy丶Du 链接: https://blog

1、高并发处理框架——Tornado

ε祈祈猫儿з 提交于 2020-03-02 18:25:02
Tornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。 Tornado是使用Python编写的一个强大的可扩展的Web服务器。 它在处理高网络流量时表现得足够强健,却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。 相对于其他Python网络框架,Tornado有如下特点: 1 、完备的Web 框架: 与Django、Flask等一样,Tornado也提供了 URL 路由映射、Request 上下文、基于模板的页面渲染技术 等开发Web应用的必备工具。 F 浏览器访问时,会携带url地址给服务端的(http协议),web服务器(主要有两个nginx和apache)通过url分解出域名和路由部分(当然不止这两个还会有协议,参数,锚等),php通过路由解析(一般是router类做路由解析工作),指定到某个类下的某个方法(有些框架的路由是可以重定向的配置)。 F 应用上下文(context)、会话(session)、请求(request)三者的作用域 上下文(作用于整个应用和生命周期)、会话(作用于当前会话)、请求(作用于当次请求) 以上每一种都是一个对象,分别存储的是整个应用服务和环境的信息、会话的信息、请求的信息

udp广播 安卓和pc互相收不到消息

余生颓废 提交于 2020-03-02 15:23:35
事件 在同一个wifi下,我有两个设备,一个pc,一个安卓。安卓用netty用发广播包,但pc就是收不到;pc发广播包,安卓也收不到。但是他们都可以收到自己的广播包。 解决过程 百度告知:虚拟网卡会过滤掉广播包 我:禁用虚拟网卡,可是还是不行 我:卸载所有虚拟机组件,可惜还是不行 原因 误打误撞发现原因是:家里用了小米路由器,小米路由器默认开启了 AP隔离 ,但是坑人的是,小米路由器的管理后台竟然没有给出关闭AP隔离的入口。总算通过小米社区中的大神指点:将加密方式改为 强加密 ,问题解决。 来源: CSDN 作者: naget 链接: https://blog.csdn.net/qq_33240946/article/details/104610777

Vue学习

倾然丶 夕夏残阳落幕 提交于 2020-03-02 14:25:25
前言 使用vue框架有一段时间了,这里总结一下心得,主要为新人提供学习vue一些经验方法和项目中一些解决思路。 文中谨代表个人观点,如有错误,欢迎指正。 环境搭建 假设你已经通读vue官方文档(文档都没读一遍(至少),那不建议动手撸码),在大致了解vue是什么东西,有什么用,核心概念之后我们就可以开始着手学习vue。首先搭建环境。 学习vue,我的建议是通过官手脚手架起步。 >>>Installation $ npm install -g vue-cli >>Usage $ vue init <template-name> <project-name> >>>>Example: $ vue init webpack my-project 根据需要安装插件yes or no,一直回车,脚手架就生成了。接下来剖析脚手架结构。 脚手架结构剖析 再开始写项目之前,我们需要弄清什么地方写什么代码。 build文件夹 webpack配置文件。此处配置webpack规则。整个项目是通过webpack支持的。比如你要使用less,你需要在webapck规则里使用less。 src 文件夹 撸码的地方~基本你所有的代码都在这一块完成。 assets文件夹 存放web中引用的图片 媒体资源。 components文件夹 主要存放可复用组件,你可以在任意页面中复用这些组件。 router文件夹