All posts by 龙生
vue路由传参的三种基本方式
项目中很多情况下都需要进行路由之间的传值,想过很多种方式 sessionstorage/localstorage/cookie 进行离线缓存存储也可以,用vuex也可以,不过有些大材小用吧,不管怎么说因场景而异 下面我来说下vue自带的路由传参的三种基本方式 先有如下场景 点击当前页的某个按钮跳转到另外一个页面去,并将某个值带过去
1 |
<div class="examine" @click="insurance(2)">查看详情</div> |
第一种方法 页面刷新数据不会丢失
1 2 3 4 5 6 7 |
methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`, }) } |
需要对应路由配置如下:
1 2 3 4 5 |
{ path: '/particulars/:id', name: 'particulars', component: particulars } |
可以看出需要在path中添加/:id来对应 $router.push 中path携带的参数。在子组件中可以使用来获取传递的参数值 另外页面获取参数如下
1 |
this.$route.params.id |
第二种方法 页面刷新数据会丢失 通过路由属性中的name来确定匹配的路由,通过params来传递参数。
1 2 3 4 5 6 7 8 9 |
methods:{ insurance(id) { this.$router.push({ name: 'particulars', params: { id: id } }) } |
对应路由配置: 注意这里不能使用:/id来传递参数了,因为组件中,已经使用params来携带参数了。
1 2 3 4 5 |
{ path: '/particulars', name: 'particulars', component: particulars } |
子组件中: 这样来获取参数
1 |
this.$route.params.id |
第三种方法 使用path来匹配路由,然后通过query来传递参数 这种情况下 query传递的参数会显示在url后面?id=?
1 2 3 4 5 6 7 8 9 |
methods:{ insurance(id) { this.$router.push({ path: '/particulars', query: { id: id } }) } |
对应路由配置:
1 2 3 4 5 |
{ path: '/particulars', name: 'particulars', component: particulars } |
对应子组件: 这样来获取参数
1 |
this.$route.query.id |
特别注意哦, 组件中 获取参数的时候是router 这很重要~~~ 作者:w夏了夏天 链接:https://www.jianshu.com/p/d276dcde6656 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
View Detailsjs 的forEach不支持continue解决
break—-用return false; continue --用return true; 代码如下: Object.keys(flatMenuData).forEach((key) => { if (item.routeName === this.$route.name && !rs.activeItem) { //如果开启了首页不展示左侧菜单,则屏蔽左侧菜单 if(this.inner_sideMenu.opt.notActiveIndex){ if(this.$route.name ==’index'){ return true } } } } ———————————————— 版权声明:本文为CSDN博主「CarryBest」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/carrybest/article/details/89000582
View Detailsweb config 处理跨域请求
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/> <add name="Access-Control-Allow-Headers" value="x-requested-with"/> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer> from:https://www.cnblogs.com/soonqian/p/6548118.html
View Detailsasp.net允许跨域配置web.config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<configuration> <system.webServer> <modules> <add name="CultureAwareHttpModule" type="Web_SJWD.Lang.CultureAwareHttpModule" /> </modules> <validation validateIntegratedModeConfiguration="false" /> <!---加下面这段可以跨域---> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> |
from:https://www.cnblogs.com/q149072205/p/11089954.html
View DetailsLinux下部分删除history记录
Linux环境: CentOS Linux release 7.3.1611 (Core) 目的: 保护操作隐私。。 首先看history命令详细情况: 一般我们已知的是history -c 命令,即清除所有历史记录 但是如果服务器用的是公司的,就不好执行这种粗暴的操作了。。 部分删除操作: 1.vim ~/.bash_history 该文件即为历史记录存储文件,我们随意修改 2.修改后再次 history 查看,发现并没有变化。原因:缓存 执行:history -r 读取历史文件并将其内容添加到历史记录中,即重置文件里的内容到内存中,完成修改! from:https://blog.csdn.net/abysscarry/article/details/79700293
View DetailsGit-查看远程分支、本地分支、创建分支
1.查看本地分支
1 2 3 |
$ git branch * br-2.1.2.2 master |
2.查看远程分支
1 2 3 4 5 |
$ git branch -r origin/HEAD -> origin/master origin/feature/IOS_visualtrack origin/feature/android_visualtrack origin/master |
3.查看所有分支
1 2 3 4 5 6 7 8 |
$ git branch -a * br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/br-2.1.2.1 remotes/origin/br-2.1.2.2 remotes/origin/br-2.1.3 remotes/origin/master |
4.切换远程分支
1 2 3 4 5 6 7 8 9 |
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/Release remotes/origin/master $ git checkout -b myRelease origin/Release Branch myRelease set up to track remote branch Release from origin. Switched to a new branch 'myRelease' |
PS:作用是checkout远程的Release分支,在本地起名为myRelease分支,并切换到本地的myRelase分支 5.合并分支 合并前要先切回要并入的分支 以下表示要把issue1234分支合并入master分支
1 2 3 4 5 |
$: git checkout master $: git merge issue1234 Merge made by recursive. README | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) |
6.撤消上一次commit的内容(该操作会彻底回退到某个版本,本地的源码也会变为上一个版本的内容) git reset --hard <commit-id> 以下表示要撤消“update build gradle configuration file”这一次的commit id,返回到"add battery settings ui"这一次的commit id,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((c8303a9...)) $ git log commit c8303a9e8db2bcf4edb7488e722a380f4e8858ec (HEAD) Author: xp.chen <xp.chen@yuneec.com> Date: Sat Oct 28 09:28:51 2017 +0800 update build gradle configuration file Change-Id: I9ee532fd0d4698613698a64eb754fb98a8559e32 commit 8d8e5ccf24cf6836ab780aa3860270c3876e825a Author: xp.chen <xp.chen@yuneec.com> Date: Sat Oct 28 09:02:01 2017 +0800 add battery settigns ui Change-Id: Ia907ee4e84f54c00a186d31378a7925a6adaba0e xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((c8303a9...)) $ git reset --hard 8d8e5ccf24cf6836ab780aa3860270c3876e825a HEAD is now at 8d8e5cc add battery settigns ui xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((8d8e5cc...)) $ git log commit 8d8e5ccf24cf6836ab780aa3860270c3876e825a (HEAD) Author: xp.chen <xp.chen@yuneec.com> Date: Sat Oct 28 09:02:01 2017 +0800 add battery settigns ui Change-Id: Ia907ee4e84f54c00a186d31378a7925a6adaba0e |
7. git commit -m 注释换行 git commit -m 注释可以通过单引号来换行,比如:
1 2 3 4 5 6 7 |
$ git commit -m ' > 1.aaaaa > 2.bbbb > ' [master b25154b] 1.aaaaa 2.bbbb 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ss.txt |
通过git commit --amend 命令可以查看到刚刚的log信息为
1 2 |
1.aaaaa 2.bbbb |
from:https://www.cnblogs.com/yongdaimi/p/7600052.html
View DetailsGit 基础 – 打标签
打标签 像其他版本控制系统(VCS)一样,Git 可以给历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点(v1.0 等等)。 在本节中,你将会学习如何列出已有的标签、如何创建新标签、以及不同类型的标签分别是什么。 列出标签 在 Git 中列出已有的标签是非常简单直观的。 只需要输入 git tag:
1 2 3 |
$ git tag v0.1 v1.3 |
这个命令以字母顺序列出标签;但是它们出现的顺序并不重要。 你也可以使用特定的模式查找标签。 例如,Git 自身的源代码仓库包含标签的数量超过 500 个。 如果只对 1.8.5 系列感兴趣,可以运行:
1 2 3 4 5 6 7 8 9 10 11 |
$ git tag -l 'v1.8.5*' v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4 v1.8.5.5 |
创建标签 Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated)。 一个轻量标签很像一个不会改变的分支——它只是一个特定提交的引用。 然而,附注标签是存储在 Git 数据库中的一个完整对象。 它们是可以被校验的;其中包含打标签者的名字、电子邮件地址、日期时间;还有一个标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证。 通常建议创建附注标签,这样你可以拥有以上所有信息;但是如果你只是想用一个临时的标签,或者因为某些原因不想要保存那些信息,轻量标签也是可用的。 附注标签 在 Git 中创建一个附注标签是很简单的。 最简单的方式是当你在运行 tag 命令时指定 -a 选项:
1 2 3 4 5 |
$ git tag -a v1.4 -m "my version 1.4" $ git tag v0.1 v1.3 v1.4 |
-m 选项指定了一条将会存储在标签中的信息。 如果没有为附注标签指定一条信息,Git 会运行编辑器要求你输入信息。 通过使用 git show 命令可以看到标签信息与对应的提交信息:
1 2 3 4 5 6 7 8 9 10 11 12 |
$ git show v1.4 tag v1.4 Tagger: Ben Straub <ben@straub.cc> Date: Sat May 3 20:19:12 2014 -0700 my version 1.4 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <schacon@gee-mail.com> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number |
输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。 轻量标签 另一种给提交打标签的方式是使用轻量标签。 轻量标签本质上是将提交校验和存储到一个文件中——没有保存任何其他信息。 创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字:
1 2 3 4 5 6 7 |
$ git tag v1.4-lw $ git tag v0.1 v1.3 v1.4 v1.4-lw v1.5 |
这时,如果在标签上运行 git show,你不会看到额外的标签信息。 命令只会显示出提交信息:
1 2 3 4 5 6 |
$ git show v1.4-lw commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <schacon@gee-mail.com> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number |
后期打标签 你也可以对过去的提交打标签。 假设提交历史是这样的:
1 2 3 4 5 6 7 8 9 10 11 |
$ git log --pretty=oneline 15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment' a6b4c97498bd301d84096da251c98a07c7723e65 beginning write support 0d52aaab4479697da7686c15f77a3d64d9165190 one more thing 6d52a271eda8725415634dd79daabbc4d9b6008e Merge branch 'experiment' 0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc added a commit function 4682c3261057305bdd616e23b64b0857d832627b added a todo file 166ae0c4d3f420721acbb115cc33848dfcc2121a started write support 9fceb02d0ae598e95dc970b74767f19372d61af8 updated rakefile 964f16d36dfccde844893cac5b347e7b3d44abbc commit the todo 8a5cbc430f1a9c3d00faaeffd07798508422908a updated readme |
现在,假设在 v1.2 时你忘记给项目打标签,也就是在 “updated rakefile” 提交。 你可以在之后补上标签。 要在那个提交上打标签,你需要在命令的末尾指定提交的校验和(或部分校验和):
1 |
$ git tag -a v1.2 9fceb02 |
可以看到你已经在那次提交上打上标签了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ git tag v0.1 v1.2 v1.3 v1.4 v1.4-lw v1.5 $ git show v1.2 tag v1.2 Tagger: Scott Chacon <schacon@gee-mail.com> Date: Mon Feb 9 15:32:16 2009 -0800 version 1.2 commit 9fceb02d0ae598e95dc970b74767f19372d61af8 Author: Magnus Chacon <mchacon@gee-mail.com> Date: Sun Apr 27 20:43:35 2008 -0700 updated rakefile ... |
共享标签 默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——你可以运行 git push origin [tagname]。
1 2 3 4 5 6 7 8 |
$ git push origin v1.5 Counting objects: 14, done. Delta compression using up to 8 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (14/14), 2.05 KiB | 0 bytes/s, done. Total 14 (delta 3), reused 0 (delta 0) To git@github.com:schacon/simplegit.git * [new tag] v1.5 -> v1.5 |
如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。
1 2 3 4 5 6 7 |
$ git push origin --tags Counting objects: 1, done. Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done. Total 1 (delta 0), reused 0 (delta 0) To git@github.com:schacon/simplegit.git * [new tag] v1.4 -> v1.4 * [new tag] v1.4-lw -> v1.4-lw |
现在,当其他人从仓库中克隆或拉取,他们也能得到你的那些标签。 删除标签 […]
View DetailsVue项目静态文件之图片的引用
一、前提 工程文件目录 |- mock |- node_modules |- public |- src |-- api |-- assets |-- components |-- router |-- store |-- style |-- test1.scss |-- test1_main.scss |-- utils |-- views |-- static_test |-- test1.scss |-- App.vue |-- main.js 二、背景图的引用 背景图样式直接写在element的style属性里 直接在html模板里,在dom对象的style里加背景图,不起效果,代码如下:
1 2 3 |
<div style="height:100px; background:url('../../assets/img/bg.png') center top no-repeat"> 不起效果。。。 </div> |
背景样式class写在vue文件的style标签里 写法: background: url('图片相对当前的路径') center top no-repeat
1 2 3 4 5 6 7 8 |
<el-card class="box-card sudoku_item"> <div slot="header" class="clearfix"> <span>背景图写在css里</span> </div> <div class='testBackground'> 起效果。。。 </div> </el-card> |
1 2 3 4 5 6 |
<style lang="scss" scoped> .testBackground { height: 100px; background: url('../../assets/img/bg.png') center top no-repeat } </style> |
编译后的css:
1 2 3 4 |
.testBackground[data-v-eb2b930e] { height: 100px; background: url(../img/bg.187d48cd.png) top no-repeat; } |
背景样式class写在样式文件里,在vue文件里引入样式文件 样式写法:
1 |
background: url('图片相对当前vue文件的路径') center top no-repeat |
这个图片路径很重要,url是图片相对于当前vue文件的路径,而不是图片相对于样式文件的路径。 html写法, /views/static_test/test1.vue:
1 2 3 4 5 6 7 8 |
<el-card class="box-card sudoku_item"> <div slot="header" class="clearfix"> <span>背景图写在style file里</span> </div> <div class='testBackground_file'> 起效果。。。 </div> </el-card> |
样式写法, /style/test1.scss:
1 2 3 4 |
.testBackground_file { height: 100px; background: url('../../assets/img/bg.png') center top no-repeat } |
/views/static_test/test1.vue,引入样式文件写法:
1 2 3 |
<style lang="scss" scoped> @import "../../style/test1.scss"; </style> |
编译后:
1 2 3 4 |
.testBackground_file[data-v-eb2b930e] { height: 100px; background: url(../img/bg.187d48cd.png) top no-repeat; } |
背景样式class写在样式文件里,在main.js里引入样式文件 html写法, /views/static_test/test1.vue:
1 2 3 4 5 6 7 8 |
<el-card class="box-card sudoku_item"> <div slot="header" class="clearfix"> <span>背景图写在style file里</span> </div> <div class='testBackground_file_main'> 起效果。。。 </div> </el-card> |
样式写法, /style/test1_main.scss:
1 2 3 4 |
.testBackground_file_main { height: 100px; background: url('../assets/img/bg.png') center top no-repeat } |
请注意,url是main.js相对于图片文件的路径。 引入样式文件方法,main.js:
1 2 |
// style import './style/test1_main.scss' |
[…]
View Detailscss3 字体自动换行第二行缩进一格
我们知道css中text-indent属性可以使每个段落首行开头文字缩进,如缩进2个文字距离样式。 p{ text-indent: 2em; /*em是相对单位*/ } 注:em是相对长度单位。相对于当前对象内文本的字体尺寸。我们中文段落一般每段前空两个汉字。实际上,就是首行缩进了2em。 那如果我们想让第二行缩进一格呢: p { text-indent: -2em; margin-left: 2em; } 设置text-indent: -2em;以后p标签中第一行文字向左偏移,这样第二行开始的文字就等于缩进了, 但是这样设置会导致第一行向左超出div,所以再用margin-left使p标签整体右移即可, 不过也可以用 padding-left:2em ,这样IE8里也能显示。 from:https://www.cnblogs.com/lvyeconghua/p/9375817.html
View DetailsCentOS 7 最小化安装的无线网络配置
1.首先下载iw工具。 yum -y install iw 2.获取无线网卡的名称 执行iw dev,假设获得名称为 wlp3s0(示例) 3.激活无线网络接口 执行ip link set wlp3s0 up 4.扫描当前环境中的无线网络 执行iw wlp3s0 scan|grep SSID,假设你能够连接的网络名称是TP-LINK-1(示例) 5.登录指定网络 执行wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "TP-LINK-1" "此网络的密码") 6.主动请求动态地址 dhclient wlp3s0 7.查看获取的网络地址 执行ip addr show wlp3s0 上善若水,水利万物而不争。 from:https://www.cnblogs.com/yoyotl/p/6090721.html
View Details