-
2020-03-22 11:38:38
路由策略 route-map
定义
route-map,路由图,用于实现路由策略。
功能
部署
route-map NM permit 10
match ip address 1 2
match ip address 1
match ip address 2
match interface f0/0 f1/0route-map NM deny 20
match ip address 2
set weight 1route-map NM permit 30
语法规则
1、同一个route-map策略中可能有多个match语句,执行过程与ACL一致,从上到下一一查找直到找到有对应的语句匹配。
2、route-map具有隐藏语句放置在最后面,“match any deny any”,前面如果不去match,该句放在最后匹配所有并拒绝掉。
3、一般在route-map后面加入允许的空语句。在写match时默认在最后有一条“match any deny any”,如果不加空语句,会导致剩下的没有抓取的流量都被拒绝掉。
4、若在同一语句使用match匹配多个条件,则只要某一条件匹配,此match语句则成立。
例如:match ip address 1 2 3 4 //若其中3可以抓到,set动作就可以执行
set interface f0/0
5、若在同一 route-map 语句下使用多条match语句,则需要全部 match 语句成立,此 route-map 语句才能成立。
例如:match ip address 1
match ip address 2
match ip address 3
match ip address 4
set interface f0/0 //这里1、2、3、4必须全都抓到,set语句才能执行重分发时执行过滤
分发列表只能允许同协议,route-map 可以支持不同协议之间的路由过滤。
思路:ospf 和 rip 各自联通 -----> 重分发全网联通 -----> route-map 实现过滤ip prefix-list NM seq 5 permit 1.1.1.1/32 //通过ACL或前缀列表抓取路由
route-map NM2 permit 10 //编写 route-map 并调用 ACL 或前缀列表
match ip address prefix-list NMrouter rip
version 2
redistribute ospf 100 metric 5 route-map NM2 //执行重分发并加入route-map更多相关内容 -
vue-router的三要素详解:路由map 、路由视图、路由导航
2022-01-04 11:03:38vue-router的三要素详解:路由map 、路由视图、路由导航使用vue-router模块
使用vue-router前要先安装vue-router库
cnpm install vue-router –save
vue-router三要素:
路由map指路由与组件的映射关系;
路由视图指路由映射对应组件的渲染位置;
路由导航指可以使地址栏发生变化的导航链接。1、路由map
import Vue from 'vue' import App from './App' //1、在入口文件main.js里引入 import VRouter from 'vue-router' Vue.config.productionTip = false //2、用全局方法use()来注册使用vue-router Vue.use(VRouter); //4、实例化全局router let router=new VRouter({ //以下是路由map routes:[ { path:'/apple', component:Apple }, { path:'/banana', component:Banana } ] }); new Vue({ el: '#app', router, //3、注册组件 components: { App,VRouter}, template: '<App/>' })
补充:路由的默认路径
默认情况下, 进入网站的首页,我们希望 渲染首页的内容。如何可以让路径默认跳到到首页,并且渲染首页组件呢?
只需要多配置一个映射就可以了:
redirect是重定向,也就是将根路径重定向到/home路径下,这样打开页面时就会默认显示首页的内容了。2、路由视图
<router-view></router-view>
3、路由导航< router-link>
(在vue2.0中,原来的v-link指令已经被< router-link>组件替代了)
路由导航的4种方法:方法1:< router-link> 创建 a 标签来定义导航链接
router-link默认是触发router.push(location),如果设置的replace 则触发router.replace(location),router.replace在导航后不会留下history记录,也就是不能回退到上一个页面
to里的值可以是一个字符串路径,或者一个描述地址的对象,如:// 字符串 <router-link to="home">home</router-link> // 对象 <router-link :to="{path:'home'}">home</router-link> // 命名路由 <router-link :to="{name: 'homename'}">home</router-link> //直接路由带查询参数query,地址栏变成 /home?ids=111 <router-link :to="{path: 'home', query: {ids: '111' }}">home</router-link> // 命名路由带查询参数query,地址栏变成/home?ids=111 <router-link :to="{name: 'homename', query: {ids: '111'}}">home</router-link> //直接路由带路由参数params,params 不生效,如果提供了 path,params 会被忽略 <router-link :to="{path: 'home', params: {ids: '111' }}">home</router-link> // 命名路由带路由参数params,地址栏是/apple/111 <router-link :to="{name: 'homename', params: { ids: '111' }}">home</router-link>
方法2:router.push 方法
这个方法会向history栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的url。
router.push()方法里的值也可以是一个字符串路径,或者一个描述地址的对象,和上述to中规则类似。// 字符串 router.push('home') // 对象 router.push({path:'home'}) // 命名路由 router.push({name: 'homename'}) //直接路由带查询参数query,地址栏变成 /home?ids=111 router.push({path: 'home', query: {ids: '111'}}) // 命名路由带查询参数query,地址栏变成/home?ids=111 router.push({name: 'homename', query: {ids: '111'}}) //直接路由带路由参数params,params 不生效,如果提供了 path,params 会被忽略 router.push({path:'homename', params:{ids: '111'}}) // 命名路由带路由参数params,地址栏是/home/111 router.push({name:'homename', params:{ids: '111'}})
方法3:router.replace()
跟router.push作用是一样的,但是,它不会向history添加新记录,而是跟它的方法名一样替换掉当前的history记录。所以导航后不会留下history记录,也就是不能回退到上一个页面
方法4:router.go(n)
这个方法的参数是一个整数,意思是在history记录中向前或者后退多少步,类似window.history.Go(n)
注意:
1.在通过params传递参数时,只能用 name:’/xxx’ ,不能用 path:’/xxx’ ,否则接收参数时会出现Undefined ; 因为params只能用name来引入路由,query用path、name都可以引入。
2.一般情况下,通过query方式传参,刷新页面后依然可以获取到刷新前传过来的参数,而通过params传递参数时,刷新后会导致参数丢失出现Undefined但是我想要params在地址栏上的简洁,又想要query刷新不丢失参数怎么办?
那我们就需要在params的基础上给路由声明一下参数,再刷新就不会丢失了
例如:添加“: id”
{ path: '/XXXX/:id', name: 'XXXX', component: component },
效果:
这种在路由上声明参数的写法,当使用跳转时,需要添加参数,否则跳转后页面啥也不会显示!!!3.获取参数方法:
在组件中:{{$route.params.ids }}、{{$route.query.ids}}
在js里:this.$route.params.ids、this.$route.query.ids
-
osm-routing:Java中的OpenStreetMap路由实现
2021-06-30 18:27:08Java中的OpenStreetMap路由实现 这是我对大学小组项目的贡献。 代码包括客户端和服务器端。 XML 格式的 OpenStreetMap 数据从“xml”文件夹加载。 该实现包括几种不同的路由算法(Dijkstra、AStar 和双向 Dijkstra ... -
详解Vue.js搭建路由报错 router.map is not a function
2020-12-09 18:52:27出现问题原因:2.0已经没有map这个方法了,只有1.0兼容该方法。 解决方法: (1)方法1:使用命令npm install vue-router@0.7.13兼容1.0版本vue。 在代码中的使用方法: (2)解决方法2:基于vue2.0,写对应的... -
Vue路由获取路由参数
2020-12-18 17:48:38vue路由设置路由参数有2种方式:1.通过query配置:登录通过query配置的路径显示如下:2.通过params配置:注册通过query配置的路径显示如下:通过该方法配置的参数,需要在配置路由的时候给参数留个坑,如下图:获取...vue路由设置路由参数有2种方式:
1.通过query配置:
登录
通过query配置的路径显示如下:
2.通过params配置:
注册
通过query配置的路径显示如下:
通过该方法配置的参数,需要在配置路由的时候给参数留个坑,如下图:
获取路由参数的方法:
1.通过query配置的:
this.$route.query
2.通过params配置的:
this.$route.params
相关代码:
路由参数var Login = {
template:`
我是登录页面`,created() {
console.log(this.$route.query)
},
}
var Register = {
template:`
我是注册页面`,created() {
console.log(this.$route.params)
},
}
Vue.use(VueRouter);
var router = new VueRouter({
routes:[
{name:'login',path:'/login',component:Login},
//通过params传递的路由参数需要用 :参数名 来占个坑
{name:'register',path:'/register/:name',component:Register}
]
});
var App = {
template:`
登录
注册
`
}
var vm = new Vue({
el: '#app',
router:router,
components: {
app:App
},
template:``
});
补充说明:
$route:路由信息对象,只读对象;
$router:路由操作对象 ,只写对象。
一、 to里的值可以是一个字符串路径,或者一个描述地址的对象。例如:
// 字符串
to apple
// 对象
to apple
// 命名路由
to apple
//直接路由带查询参数query,地址栏变成 /apple?color=red
to apple
// 命名路由带查询参数query,地址栏变成/apple?color=red
to apple
//直接路由带路由参数params,params 不生效,如果提供了 path,params 会被忽略
to apple
// 命名路由带路由参数params,地址栏是/apple/red
to apple
二、router.push(...)方法 同样的规则也适用于router.push(...)方法。
// 字符串
router.push('apple')
// 对象
router.push({path:'apple'})
// 命名路由
router.push({name: 'applename'})
//直接路由带查询参数query,地址栏变成 /apple?color=red
router.push({path: 'apple', query: {color: 'red' }})
// 命名路由带查询参数query,地址栏变成/apple?color=red
router.push({name: 'applename', query: {color: 'red' }})
//直接路由带路由参数params,params 不生效,如果提供了 path,params 会被忽略
router.push({path:'applename', params:{ color: 'red' }})
// 命名路由带路由参数params,地址栏是/apple/red
router.push({name:'applename', params:{ color: 'red' }})
三、注意点
1、关于带参数的路由总结如下:
无论是直接路由“path" 还是命名路由“name”,带查询参数query,地址栏会变成“/url?查询参数名:查询参数值“;
直接路由“path" 带路由参数params params 不生效;
命名路由“name" 带路由参数params 地址栏保持是“/url/路由参数值”;
2、设置路由map里的path值:
带路由参数params时,路由map里的path应该写成: path:'/apple/:color' ;
带查询参数query时,路由map里的path应该写成: path:'/apple' ;
3、获取参数方法:
在组件中: {{$route.params.color}}
在js里: this.$route.params.color
-
graphhopper:OpenStreetMap的开源路由引擎。 用作Java库或服务器
2021-02-03 17:27:44默认情况下,它使用OpenStreetMap和GTFS数据,但可以导入其他数据源。 社区 我们有一个开放的社区,欢迎大家。 让我们知道您的问题,用例或打个。 请参阅我们的。 问题 所有问题都进入我们的,在该,我们还有专门... -
OpenRailRouting:使用OpenStreetMap数据和GraphHopper路由引擎在铁路轨道上进行路由
2021-05-17 05:05:01这是基于路由引擎和OpenStreetMap数据的分叉版本的铁路路由引擎的原型。 当前支持以下功能: 简单的路由请求 地图匹配 考虑转弯角度(避免U形转弯点) 禁用铁路道口的转弯(OSM标签railway=railway_crossing ) ... -
华为路由器 eNSP 配置 rip OSPF 路由重发布
2020-10-01 20:29:22主要为大家介绍了给华为路由器eNSP配置rip OSPF 路由重发布的过程,不了解路由器rip OSPF 路由重发布的朋友可以和脚本之家的小编一起来学习一下 -
联想celleden MAP1600 路由更新文件
2015-06-03 17:37:44可以用腾达包升级,更新后可以实现无线WAN方便使用。V5.07.29._cn_GDN这个升级包,是官方的。 -
Neo4jOSM:使用Neo4j和OpenStreetMap的简单路由服务
2021-05-05 23:12:29Neo4jOSM 使用Neo4j和OpenStreetMap的简单路由服务 -
React-Router实战:基本路由、路由传参、嵌套路由
2019-03-17 17:53:27安装 &amp;amp;gt; npm install -g create-react-app &amp;... create-react-app demo-app ...一、基本路由(Dome1) 1、目录及 组件关系图 目录结构: 组件关系: 2、源码 ./index.js import React安装
> npm install -g create-react-app > create-react-app demo-app > cd demo-app > npm install react-router-dom
一、基本路由(Dome1)
1、目录及 组件关系图
目录结构:
组件关系:
2、源码
./index.js
import React from 'react'; import ReactDOM from 'react-dom'; import App from './components/App/App'; ReactDOM.render(<App />, document.getElementById('root'));
./src/components/App/App.js
import React from "react"; import { BrowserRouter as Router, Route, Link } from "react-router-dom"; import Home from '../Home/Home'; import About from '../About/About'; import Inbox from '../Inbox/Inbox'; function App() { return ( <Router> <div> <ul> <li><Link to="/">Home</Link></li> <li><Link to="/about/">About</Link></li> <li><Link to="/inbox/">Inbox</Link></li> </ul> <Route path="/" exact component={Home} /> <Route path="/about/" component={About} /> <Route path="/inbox/" component={Inbox} /> </div> </Router> ); } export default App;
注:exact为精准匹配,必须加
./src/components/Home/Home.js
import React, { Component } from 'react'; class Home extends Component { render() { return ( <div>i am home</div> ); } } export default Home;
./src/components/About/About.js
import React, { Component } from 'react'; class About extends Component { render() { return ( <div>i am about</div> ); } } export default About;
./src/components/Inbox/Inbox.js
import React, { Component } from 'react'; class Inbox extends Component { render() { return ( <div>i am Inbox</div> ); } } export default Inbox;
3、展示
再点击 About 之后:
二、路由传参(Dome2)
1、目录及 组件关系图
目录结构:同上
组件关系:
2、源码
./index.js
import React from 'react'; import ReactDOM from 'react-dom'; import App from './components/App/App'; ReactDOM.render(<App />, document.getElementById('root'));
./src/components/App/App.js
import React , { Component } from 'react'; import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; import About from '../About/About'; class App extends Component { constructor() { super(); this.state = { lists: ['10010', '10086', '8000'], }; } render() { let linkList = this.state.lists.map(item => { return ( <li><Link to={`/about/${item}`}> {item} </Link></li> ); }); return ( <Router> <div> <ul> { linkList } </ul> <Route path="/about/:tel" component={About} /> </div> </Router> ); } } export default App;
注:< Route>在选择渲染About组件时,其实也传给了About组件一个match对象
。在About中直接this.props.match即可访问。
./src/components/About/About.js
import React, { Component } from 'react'; class About extends Component { render() { return ( <div>about: {this.props.match.params.tel}</div> ); } } export default About;
点击8000后:
三、嵌套路由(Dome3)
1、目录及 组件关系图
目录结构:同上
组件关系:
2、源码
./index.js
import React from 'react'; import ReactDOM from 'react-dom'; import App from './components/App/App'; ReactDOM.render(<App />, document.getElementById('root'));
./src/components/App/App.js
import React from 'react'; import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; import Home from '../Home/Home'; import About from '../About/About'; import Inbox from '../Inbox/Inbox'; function App() { return ( <Router> <div> <ul> <li><Link to="/">Home</Link></li> <li><Link to="/about">About</Link></li> <li><Link to="/inbox">Inbox</Link></li> </ul> <hr/> <Route path="/" exact component={Home} /> <Route path="/about" component={About} /> <Route path="/inbox" component={Inbox} /> </div> </Router> ); } export default App;
./src/components/About/About.jsimport React, { Component } from 'react'; class About extends Component { render() { return ( <div>i am about</div> ); } } export default About;
./src/components/Inbox/Inbox.js
import React, { Component } from 'react'; import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; class Inbox extends Component { render() { return ( <div> <h2>Inbox title</h2> <ul> <li><Link to={`${this.props.match.url}/components`}> Components </Link></li> <li><Link to={`${this.props.match.url}/props-v-state`}> Props v. State </Link></li> </ul> <Route path={`${this.props.match.path}/:getId`} component={Topic} /> <Route path={this.props.match.path} exact render={() => <h3>Please select a topic.</h3>}/> </div> ); } } function Topic(props) { return <h3>{props.match.params.getId}</h3>; } export default Inbox;
3、展示
点击Inbox后:
点击 Props v. State 后:
-
react-router-chart::world_map:React Router的静态路由映射
2021-02-15 18:17:59为您的React应用中的所有路由创建一个真实的真实来源地图,并轻松在react-router中进行渲染 入门 安装 包括在您的依赖项中。 npm install ' react-router-chart ' 推荐的 使用React.lazy和React.Suspense通过将组件... -
详解vue 路由跳转四种方式 (带参数)
2020-12-29 05:02:421. router-link ...// 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 2.带参数 // params传参数 (类似post) // 路由配置 path: /home/:id 或者 path: /home:id -
make-route-map:单页应用程序的类型安全路由
2021-05-02 09:39:47Web应用程序中的路由可能是一个微妙但持久的错误源。 您认为您已经更新了对要更改的路线和BAM的所有引用。 您在应用程序的某些无关部分中引起了错误。 使用routeMap将您的路线保存在单个类型安全的真实来源中。 ... -
nim-osrm:用于OpenStreetMap API库的开源路由机器和用于Nim的应用程序
2021-02-04 11:57:01nim-osrm:用于OpenStreetMap API库的开源路由机器和用于Nim的应用程序 -
Vue前端项目-首页-获取路由信息
2020-03-27 10:41:551、路由导航守卫 2、store中添加 permission模块 3、路由模块 4、路由API SpringBoot后端 1、Controller层 2、实体类 3、Service 层 4、Service实现类 5、Mapper 接口 6、映射描述文件 在上一章 <Vue... -
路由策略和策略路由 & route-map
2018-04-08 15:59:00今天,这个专题应用下route-map,在这个之前,有很多内容需要掌握,不是简单的制定一个路由图就可以了。 -------- 本次专题理论的东西居多,但是不是复制黏贴,是加上自己的理解思想。 第一个要解决的问题:... -
route-map不错的路由过滤总结
2013-05-20 21:35:23route-map不错的路由过滤总结、Distribute-list,route-map, -
Route map应用策略路由(上)
2017-11-13 00:30:00一、拓扑图: ...但是要注意的一点是R4上要加一条命令:default-information originate always (向OSPF区域通知一条默认路由,并且要加always,因为在R4上我们没有默认路由,之前我说在R4上只做了一条静态... -
路由策略——route map
2018-03-11 15:26:32 -
routes:WordPress的简单路由
2021-05-24 13:13:17WordPress的简单路由。 设计用于 基本用法 /* functions.php */ Routes :: map ( 'myfoo/bar' , 'my_callback_function' ); Routes :: map ( 'my-events/:event' , function ( $ params ) { $ event_slug = $ ... -
路由过滤命令详解route-map
2010-03-12 18:03:07路由过滤命令详解route-map 一) Route Maps 特性: Route Maps类似于access lists,不同之处在于Route Maps可以改变Packets/Routes的部分属性。 用途: Route Maps主要用于Redistribution和Policy ... -
CCNP6:重发布技术+路由策略(Route-map)2019.6.18修改
2019-06-18 09:42:10CCNP9重发布技术 ...一台设备同时运行于两个协议或者两个进程,默认从两端学习到的路由条目不共享。重发布技术是 人为 进行的共享。 2、使用重发布技术时的注意事项: (1)必须存在 ASBR——自... -
CCNP路由交换视频教程.rar
2021-09-19 12:34:23CCNP路由-23BGP策略部署之 prefix- list distribute- list route-map条件通告ORF及路由拆分 CCNP路由-24BGP路由反射器Javi CCNP路由25BGP联邦1av CCNP路由-26BGP选路规则详解(上,avi CCNP路由-27BGP选路规则详解(下.... -
深信服下一代防火墙(NGAF8.0.7)基于路由映射(Route-map)实现BGP入站路由过滤实施详解
2021-08-26 18:32:55本文将为各位介绍深信服下一代防火墙(NGAF)BGP路由过滤基于路由映射(route-map)实施步骤,感兴趣的同学麻烦点个赞~~ 目录 方案概述 实施步骤 方案实施预置条件 配置访问列表 配置路由映射(Route-... -
Symfony2学习笔记之系统路由详解
2020-12-18 08:05:42本文详细讲述了Symfony2的系统路由。分享给大家供大家参考,具体如下: ... 拥有灵活性更为重要,如果你要改变一个页面的URL,比如从/blog 到 /new 怎么办? 有多少链接需要你找出来并更新呢...创建复杂的路由并map到cont -
Cisco 路由过滤之 Route-map & Distribute-list
2020-01-11 13:44:19一个路由器以优先级0从未成为DR或 一个备份指定路由(BDR); 它总是DROTHER ,意味着是不DR 或BDR的路由器。 状态 状态域表示邻接 路由器的功能状态。 欲知关于状态的更多信息,请参阅 OSPF邻居状态。 FULL 意味着... -
Golang中的路由使用详解
2021-01-03 03:43:51之前有篇文章比较浅显的分析了一下golang的服务器如何实现,还有Handler, DefaultServeMux,HandlerFunc的用处。... router map[string]map[string]http.HandlerFunc } 在这里我们创建了一个像Default -
路由策略原理.pdf
2020-04-20 15:32:30描述基础路由策略,路由策略(选路工具) 根据实际情况干预路由器的路由选择: ACL 访问控制列表 ...路由映射(route-map) 注意:当ACL调用至任何一个选路工具时 语法中PERMIT不再是允许而是捕获感兴趣流量