杂记 -- 关于vue-router样式、vuecli引用全局js函数、vue.slot用法
1、routerLinkTo 样式设置
首先,点击routerlink标签如下图:添加:router-link-active,router-link-exact-active两个类的样式

router-link-active及router-link-exact-active区别:
有四种路径如下:
<router-link to='/'><router-link to='/a'><router-link to='/b'><router-link to='/ab'>
router-link-active相当于模糊匹配,及2或3点击,1号也会添加router-link-active样式;点击4号,1和2也会添加该类;
router-link-exact-active相当于精准匹配,只会添加到点击的标签上;
修改vue默认的routerLink样式:
方法一:设置局部
直接在相关组件中设置想要的router-link-active或router-link-exact-active样式
<style>
.router-link-exact-active{
border-bottom:2px solid #1989fa;
}
</style>
方法二:设置全局
在router/index.js 中设置全局的linkActiveClass
linkActiveClass:myActive

详细可以参照文档进行设置:https://router.vuejs.org/zh/api/#base
2、在vue项目结构中导入全局的js函数
以时间格式化函数为例:
首先在vuecli项目结构中创建相关的js文件:
//E:\vue\platform\src\assets\js\DateFormat.js
/**************************************时间格式化处理************************************/
function dateFormat(fmt, date) {
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
return fmt;
}
export {
dateFormat//导出
}
其次在main.js文件中进行全局配置,把它挂在到vue的原型中去:
//main.js
import { dateFormat } from './assets/js/DateFormat'
Vue.prototype.$dateFormat = dateFormat
最后在需要调用的地方直接进行引用:ctime:this.$dateFormat('yyyy-MM-dd hh:mm:ss',new Date())就完成对时间的格式化处理
3、vue中slot的用法
slot:插槽,子组件中存在一个对父组件插入内容的占位
一、不具名插槽
Child.vue:
<template>
<div>
<p>这里是子组件</p>
<slot>
父组件的占位,父组件没有插入内容会显示
</slot>
</div>
</template>
Parent.vue:
<template>
<div>
<Child>
<p>父组件插入内容</p>
</Child>
</div>
</template>
<script>
import Child from './Child'
export default {
components:{ Child }
}
</script>
显示:
这里是子组件
父组件插入内容
二、具名插槽
Child.vue:
<template>
<div>
<p>这里是子组件</p>
<slot name="slot1">//具体名字
这里是slot1
</slot>
<slot>默认的slot</slot>
<slot name="slot2">
这里是slot2
</slot>
</div>
</template>
Parent.vue
<template>
<div>
<Child>
<p slot="slot2">父组件插入内容</p>//匹配名字相同的slot插槽,没有名字则匹配默认的slot插槽
</Child>
</div>
</template>
<script>
import Child from './Child'
export default {
components:{ Child }
}
</script>
显示:
这里是子组件
这里是slot1 默认的slot
父组件插入内容
杂记 -- 关于vue-router样式、vuecli引用全局js函数、vue.slot用法的更多相关文章
- Vue项目零碎知识(全局js,css配置,element-UI,bs使用, img动态配置,js数组)
全局css样式,首先在静态assets中写好文件,然后要在main.js中配置 // 配置全局css样式 // import '@/assets/css/global.css' require('@/ ...
- Vue-cli添加全局js
1.填写全局config.js function getConfig(str){ var ajaxurl = "http://112.80.39.92:8008/webservices/re ...
- 每日技术总结:vue router传参方式,js获取设备高度
今天貌似没什么问题,23333…… 1.vue router 路由传参的方式 应用情景:从分类页(category.vue)进入商品列表页(list.vue),需要传递商品分类id(catId),商品 ...
- vue之注册自定义的全局js方法
前端开发的时候,总会需要写一些js方法,在vue框架中为了方便使用,可以考虑注册一个全局的js方法,下面是注册步骤: 1.0 可以在assets文件中的js文件下面新建一个js文件,如:yun.js- ...
- Joomla - 自定义(自定义模块、修改原有模块样式、添加全局JS)
一.自定义模块 自定义模块 参考 Joomla - 模块系统(新建模块.模块类别.自定义模块)第三点 自定义模块部分 自定义模块布局 参考 Joomla - T3模板(非常好用的4屏响应式模板) 的第 ...
- 【vue】vue +element 搭建项目,将js函数变成vue的函数
demo:时间转换 1.目录 <1>在src文件夹下新建文件夹prototypefns--------在此文件夹创建util.js, <2>在prototypefns下新建文件 ...
- Vue之vue中的data为什么是一个函数+vue中路径别名alias设置
问题描述 为什么在vue组件中,我们的data属性必须是一个函数,new Vue()中的data除外,因为new Vue中只有一个data属性. 原因 因为我们能抽离出来的组件,肯定是具有复用性的,它 ...
- Vue.js 作用域、slot用法(单个slot、具名slot)
作用域 在介绍slot前,需要先知道一个概念:编译的作用域.比如父组件中有如下模板: <child-component> {{message}} <child-component&g ...
- Vue项目中如何引用外部js
第一种方法:(感觉这个有问题) 1.把需要的js放到static文件夹下 2.在Index.html页面引入 3.在webpack.base.conf.js添加下面代码 externals: { 'W ...
随机推荐
- Linux下扫描服务器IP地址是否冲突(arp-scan)
部署服务突然发现,连接的服务器断开了,因为服务器用户名密码是一样的,所以重新连接后,发现文件变了,跟之前不一样. 猜想是不是ip地址冲突了,两次连接的服务器不同. 网上查找资料说可以用工具扫描.工具: ...
- 解决RabbitMQ远程不能访问的问题
刚刚安装的RabbitMQ-Server-3.3.5,并且也已经开启了Web管理功能,但是现在存在一个问题: 出于安全的考虑,guest这个默认的用户只能通过http://localhost:1567 ...
- python中super()
super() : 获取当前类的父类 效果图: 代码: class Animal: def __init__(self,name): self._name = name @property def n ...
- flask部署深度学习模型
flask部署深度学习模型 作为著名Python web框架之一的Flask,具有简单轻量.灵活.扩展丰富且上手难度低的特点,因此成为了机器学习和深度学习模型上线跑定时任务,提供API的首选框架. 众 ...
- 从网上下载DLL
1,微软官网 2:https://www.zhaodll.com/ 3:http://www.dllzj.com/
- AVR单片机教程——定时器中断
本文隶属于AVR单片机教程系列. 中断,是单片机的精华. 中断基础 当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断.触发中断的事件成为中断源,处理事件的函数称为中断 ...
- Asp.Net Core 已支持 gRPC-Web !!
grpc-dotnet 项目在 PR #695 完成了 ASP.NET Core 服务与 .NET Core gRPC 客户端的 gRPC-Web 实现. 虽然目前还是实验性项目,但是并不阻碍我们为之 ...
- 关于Error executing aapt的问题
这两天装了ubuntu 14.0.4系统,在这个系统上装了eclipse的android开发环境.原以为一切顺利,结果开发环境装完导入工程后,工程提示有红叉. R文件不能自动生成,按R文件不能自动生成 ...
- Ubuntu下配置Apache以及搭载CGI
在Windows下自己下载应用过Apache,在Linux下也用到了服务器,就选择了Apache.Apache的安装在Ubuntu下异常简单. 1. 上网下载自动包安装 sudo apt-get in ...
- Dynamics CRM Package Deployer 部署工具
CRM 部署工具非常有用 我们可以用部署工具来做迁移,部署 等等. Package Deployer可以同时部署多个solutions. 并且也可以勾选solution的plugin也同时部署. 三 ...