1、routerLinkTo 样式设置

首先,点击routerlink标签如下图:添加:router-link-active,router-link-exact-active两个类的样式

router-link-active及router-link-exact-active区别:

有四种路径如下:

  1. <router-link to='/'>
  2. <router-link to='/a'>
  3. <router-link to='/b'>
  4. <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用法的更多相关文章

  1. Vue项目零碎知识(全局js,css配置,element-UI,bs使用, img动态配置,js数组)

    全局css样式,首先在静态assets中写好文件,然后要在main.js中配置 // 配置全局css样式 // import '@/assets/css/global.css' require('@/ ...

  2. Vue-cli添加全局js

    1.填写全局config.js function getConfig(str){ var ajaxurl = "http://112.80.39.92:8008/webservices/re ...

  3. 每日技术总结:vue router传参方式,js获取设备高度

    今天貌似没什么问题,23333…… 1.vue router 路由传参的方式 应用情景:从分类页(category.vue)进入商品列表页(list.vue),需要传递商品分类id(catId),商品 ...

  4. vue之注册自定义的全局js方法

    前端开发的时候,总会需要写一些js方法,在vue框架中为了方便使用,可以考虑注册一个全局的js方法,下面是注册步骤: 1.0 可以在assets文件中的js文件下面新建一个js文件,如:yun.js- ...

  5. Joomla - 自定义(自定义模块、修改原有模块样式、添加全局JS)

    一.自定义模块 自定义模块 参考 Joomla - 模块系统(新建模块.模块类别.自定义模块)第三点 自定义模块部分 自定义模块布局 参考 Joomla - T3模板(非常好用的4屏响应式模板) 的第 ...

  6. 【vue】vue +element 搭建项目,将js函数变成vue的函数

    demo:时间转换 1.目录 <1>在src文件夹下新建文件夹prototypefns--------在此文件夹创建util.js, <2>在prototypefns下新建文件 ...

  7. Vue之vue中的data为什么是一个函数+vue中路径别名alias设置

    问题描述 为什么在vue组件中,我们的data属性必须是一个函数,new Vue()中的data除外,因为new Vue中只有一个data属性. 原因 因为我们能抽离出来的组件,肯定是具有复用性的,它 ...

  8. Vue.js 作用域、slot用法(单个slot、具名slot)

    作用域 在介绍slot前,需要先知道一个概念:编译的作用域.比如父组件中有如下模板: <child-component> {{message}} <child-component&g ...

  9. Vue项目中如何引用外部js

    第一种方法:(感觉这个有问题) 1.把需要的js放到static文件夹下 2.在Index.html页面引入 3.在webpack.base.conf.js添加下面代码 externals: { 'W ...

随机推荐

  1. php hash比较缺陷

    PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他 ...

  2. 有关字符串的算法(KMP,Manacher,BM)陆续补充

    KMP算法: 引言: KMP算法是一种改进的字符串匹配算法 字符串匹配:即寻找str_target在str_source中出现的位置 没有改进的字符串匹配:用暴力法进行搜索,枚举出所有的情况然后一一比 ...

  3. 2018湘潭邀请赛 AFK题解 其他待补...

    A.HDU6276:Easy h-index Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  4. 比特币学习笔记(二)---在windows下调试比特币源码

    根据我一贯的学习经验,学习开源代码的话,单单看是不够的,必须一边看一边调试才能尽快理解,所以我们要想法搭建windows下bitcoin源码的调试环境. 紧接着昨天的进度,想要调试linux下的比特币 ...

  5. C++ | C++ 基础知识 | 结构、联合与枚举

    1. 结构 1.0 结构 数组是相同类型元素的集合,相反,struct 是任意类型元素的集合. 代码例子: struct Address { const char* name; int number; ...

  6. 什么样的项目适合docker部署,docker应用场景

    docker官网上说明了docker的典型场景: 使应用的打包与部署自动化 创建轻量.私密的PAAS环境 实现自动化测试和持续的集成/部署 根据这些特性,我们可以想象一下,如果你的项目有如下痛点或者需 ...

  7. Go 每日一库之 cobra

    简介 cobra是一个命令行程序库,可以用来编写命令行程序.同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架.非常多知名的开源项目使用了 cobra 库构建命令行,如Kubern ...

  8. 【转】oracle条件子句执行顺序

    Oracle WHERE条件执行顺序:ORACLE采用自下而上的顺序解析WHERE子句 1.据此那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾例如:SELECT … FROM EMP E ...

  9. eclipse开发工具内打开某js文件总是用记事本方式打开的问题

    问题现象: 开发时不知道按到了什么快捷键,导致在某js文件内点击某调用方法时莫名其妙的用记事本方式打开了该js文件,试了几次都是这样.索性将该js文件关掉重新打开,结果双击该文件还是弹出了一个记事本, ...

  10. 添加学生信息(Javaweb)

    add.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...