普通页面使用vue.js心得
在写本文之前要问自己几个问题,来说明为什么要这么做:
为什么在html中使用vue.js?
vue.js已经趋于成熟,个人感觉比jquery要好用的多,但是在node环境下使用vue.js不用使用SSR后端渲染的情况下SEO并不友好,所以就想着在html直接引用vue.js当做jquery使用。
为什么不使用SSR后端渲染?
因为本人搞后台开发使用的是JAVA,所以要想SSR必须使用nodejs作为服务端,所以我并没有太多时间学习nodejs
所以最后决定在后台使用thymeleaf模板引擎中使用vue.js,我做的是一个博客系统,我从入行开始就想有一个属于自己的博客,但是当时时间和技术都是非常有限的,所以一直没有把这件事提上日程,今年是我第二年工作,感觉学习的技术足可以做一个简单的博客了,本人博客园也会围绕我自己搭建的个人博客遇到的问题展开技术的分享,下一篇介绍我的来历还有我的经历,如果有人看见的话希望我们可以交流技术可以互相学习,好了废话不多说,我要解决的问题是,博客的导航栏的复用,就是头部导航栏点中的话就高亮,就要实现这么一个简单的问题。
使用的技术:
vue.js模板、Element 导航栏
本人没有写过太多博客,所以博客的排版可能不太好,请您原谅,这个坑不适用于nodejs下的vue开发,因为那个环境下是单页应用,我只是当成jq来用的,所以可能不太规范,请您谅解。
要解决的问题:
复用导航栏,而且有选中高亮。
实现的效果:

切换tab

最终效果就是这样,切换后自动选中,不是在每个页面都写一遍导航栏,那样太难维护了!
代码:
// 定义一个名为 his-header 的新组件
Vue.component('his-header', {
data: function () {
return {
index: 0
}
},
props: ['indexs'],
template: '<el-menu :default-active="index" class="el-menu-demo" mode="horizontal"><li class="el-menu-item index" style="margin-left: 20%;"><h2><a href="/">起码网</a></h2></li><el-menu-item index="1"><a href="/">首页</a></el-menu-item><el-menu-item index="2"><a href="/resource">建站教程</a></el-menu-item><el-menu-item index="3"><a href="/resource">应用中心</a></el-menu-item><el-menu-item index="4"><a href="https://www.ele.me" target="_blank">资源分享</a></el-menu-item><el-menu-item index="5"><a href="https://www.ele.me" target="_blank">随笔杂谈</a></el-menu-item><el-menu-item index="6"><a href="/about">关于我</a></el-menu-item></el-menu>',
mounted: function () {//创建完模板以后再赋值让element 选中菜单
this.index = this.indexs;
}
})
<his-header v-bind:indexs="1"></his-header>
<his-header v-bind:indexs="2"></his-header>
在每个页面只要使用这样的标签就可以实现了!
普通页面使用vue.js心得的更多相关文章
- vue.js初级入门之最基础的双向绑定操作
首先在页面引入vue.js以及其他需要用到的或者可能要用到的插件(这里我多引用了bootstrap和jquery) 引用的时候需要注意文件的路径,准备工作这样基本就完成了,下面正式开始入门. vue. ...
- 为什么推荐前端使用Vue.js
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- 深入解析vue.js响应式原理与实现
vue.js响应式原理解析与实现.angularjs是通过脏检查来实现数据监测以及页面更新渲染.之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新渲染页面.vue.js ...
- Springboot 项目源码 Activiti6 工作流 vue.js html 跨域 前后分离 websocket即时通讯
特别注意: Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ activiti6.0.0+ mybaits+maven+接 ...
- Springboot vue.js html 跨域 前后分离 shiro权限 集成代码生成器
本代码为 Springboot vue.js 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ mybaits+maven+接口 前端页面:html + ...
- Springboot Activiti6 工作流 集成代码生成器 shiro 权限 vue.js html 跨域 前后分离
官网:www.fhadmin.org 特别注意: Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ activiti6.0 ...
- Springboot vue.js html 跨域 前后分离 Activiti6 工作流 集成代码生成器 shiro 权限
官网:www.fhadmin.org 特别注意: Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ activiti6.0 ...
- Springboot 项目源码 vue.js html 跨域 前后分离 shiro权限
官网:www.fhadmin.org 特别注意: Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ activiti6.0 ...
- Springboot vue.js html 跨域 前后分离 Activiti6 shiro 权限
官网:www.fhadmin.org 特别注意: Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ activiti6.0 ...
随机推荐
- .net 导入Excel
今天我在做导入Excel的时候遇到了一些问题,顺便说句其实我很少做这方面的!我的需求是导入EXCEL 验证数据正确性 并把数据显示到页面 如有错误信息则弹出来 那具体问题是什么呢? 导入Excel有2 ...
- SendKeys发送组合键
使用: using System.Windows.Forms;//添加命名空间引用 { SendKeys.SendWait("{DOWN}"); ppt.ppt_sendkey(& ...
- MySQL数据库唯一性设置(unique index)
1,命令行操作 分为两种.一种是在建表时就想好要加上唯一性,另一种是在后期才发现需要设置唯一性. 建表时: CREATE TABLE `t_user` ( `Id` int(11) NOT NULL ...
- weex手机端安全键盘
github地址:weexSafeKeyboard 效果图: 技术依赖:框架:weex+vue 弹出层:weex-ui 图标:iconfont 说明:1.如果不想用到weex-ui,可以把inputk ...
- POJ 4786 Fibonacci Tree
Fibonacci Tree Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ...
- Google NewSQL之Spanner
谷歌分布式三宝 BigTable.GFS.MapReduce这传说中的谷歌分布式三驾马车,虽然谷歌没有公开具体实现代码,但却公布了相应论文,对分布式文件系统.大数据挖掘和NoSQL流行起了重大促进作用 ...
- RGB 与 (RGB转 YCbCr再转为 RGB)的图像
RGB 与 (RGB转 YCbCr再转为 RGB)的图像 不可逆,能够从 矩阵的逆运算看出来. 附上 matlab 代码: clc,clear; Source=imr ...
- oracle 有个xe版本
oracle 有个xe版本 学习了:http://blog.csdn.net/angiexia/article/details/8615771
- Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag 'CocosDenshion/android' in import path
1.当做安卓移植的时候遇到例如以下问题: Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android ...
- 2016.03.27,英语,《Vocabulary Builder》Unit 06
equ: from Latin aequus, meaning 'equal', equalize:使相等; equivalent:[ɪ'kwɪvələnt], A is equivalent to ...