解决使用vue.js路由后失效的问题
下面我就为大家分享一篇解决使用vue.js路由后失效的问题,具有很好的参考价值,希望对大家有所帮助。
新学了vue.js中的路由 在之前写的vue的demo上加上了简单的路由例子(来自vue-router 2),但是加上点击后只有地址栏变化,内容并不变.且之前用jquery写的一些效果也失效了.最后找到原因是因为同一个id被启动了两次(第一次是之前使用vue组件时启动的,另外一个是路由时启动的)
附上部分代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-default/index.css" rel="external nofollow" > </head> <style> body { margin: 0; padding: 0; } .logo { width: 166.65px; height: 60px; position: absolute; } .el-menu-demo { margin-left: 166.65px; } .tac { width: 500px; } .bar2,.bar3{ display: none; } </style> <body> <p id="top-menu"> <p class="logo"> <img src="baidu.gif" alt=""> </p> <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> <el-menu-item index="1" class="nav1">基本资料</el-menu-item> <el-menu-item index="2" class="nav2">培养信息</el-menu-item> <el-menu-item index="3" class="nav3">考核相关</el-menu-item> <el-menu-item index="4" class="nav4">清算</el-menu-item> </el-menu> </p> <p id="left-menu"> <el-row class="tac"> <!-- 基本资料--> <el-col :span="8" class="bar1"> <el-menu mode="vertical" default-active="1" class="el-menu-vertical-demo" @select="handleSelect" theme="dark"> <el-menu-item-group title="个人资料"> <!-- 路由链接添加处 --> <router-link to = "/information"><el-menu-item index="1"><i class="el-icon-message"></i>基本信息</el-menu-item></router-link> <el-menu-item index="2"><i class="el-icon-message"></i>修改密码</el-menu-item> </el-menu-item-group> <el-menu-item-group title="会员资料"> <router-link to = "/list"><el-menu-item index="3"><i class="el-icon-message"></i>会员信息</el-menu-item></router-link> </el-menu-item-group> <el-menu-item-group title="小组资料"> <el-menu-item index="4"><i class="el-icon-message"></i>小组信息</el-menu-item> </el-menu-item-group> </el-menu> </el-col> </el-row> <!-- 路由内容显示 --> <p class = "content"> <router-view></router-view> </p> </p> </body> <!-- 先引入 Vue --> <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <!-- 引入组件库 --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".nav1").click(function(){ $(".bar1").show().siblings().hide(); }) $(".nav2").click(function(){ $(".bar2").show().siblings().hide(); }) $(".nav3").click(function(){ $(".bar3").show().siblings().hide(); }) }) </script> <script type="text/javascript"> //vue组件部分 var Main = { data() { return { activeIndex: '1' }; }, methods: { handleSelect(key, keyPath) { /*console.log(key, keyPath);*/ } } } //vue路由部分 const Information = {template:'<p>foo</p>'} const List = {template:'<p>list</p>'} const routes = [ {path:'/information',component:Information}, {path:'/list',component:List}] const router = new VueRouter({ routes }) const app = new Vue({ router }).$mount('#left-menu') //路由 启动应用 var Ctor = Vue.extend(Main) new Ctor().$mount('#top-menu') //主要就是下面这条语句多余 这是写组件时启动应用所用的语句 //new Ctor().$mount('#left-menu') </script> </html>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
spirngmvc js传递复杂json参数到controller的实例
以上是解决使用vue.js路由后失效的问题的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在Slim框架中实现API路由的方法Slim是一款轻量级的PHP微型框架,它提供了一个简单而灵活的方式来构建Web应用程序。其中一个主要功能是实现API路由,使我们能够将不同的请求映射到相应的处理程序。本文将介绍如何在Slim框架中实现API路由,并提供一些代码示例。首先,我们需要安装Slim框架。可以通过Composer来安装最新版本的Slim。打开终端并

ApacheCamel是一个基于企业服务总线(ESB)的集成框架,它可以轻松地将不同的应用程序、服务和数据源集成在一起,从而实现复杂的业务流程自动化。ApacheCamel使用基于路由的配置方式,可以轻松地定义和管理集成流程。ApacheCamel的主要特点包括:灵活性:ApacheCamel可以轻松地与各种应用程序、服务和数据源集成。它支持多种协议,包括Http、JMS、SOAP、FTP等。高效性:ApacheCamel非常高效,它可以处理大量的消息。它使用异步消息传递机制,可以提高性能。可扩

ThinkPHP6是一款强大的PHP框架,拥有便捷的路由功能,可以轻松实现URL路由配置;同时,ThinkPHP6还支持多种路由模式,如GET、POST、PUT、DELETE等等。本文将介绍如何使用ThinkPHP6进行路由配置。一、ThinkPHP6路由模式GET方式:GET方式是用于获取数据的一种方式,常用于页面展示。在ThinkPHP6中,可以使用如下

如何在Vue项目中使用路由实现页面切换动画效果的定制?引言:在Vue项目中,路由是我们经常使用的功能之一。通过路由可以实现页面之间的切换,提供了良好的用户体验。而为了让页面切换更加生动,我们可以通过定制动画效果实现。本文将介绍如何在Vue项目中使用路由实现页面切换动画效果的定制。创建Vue项目首先,我们需要创建一个Vue项目。可以使用VueCLI来快速搭建

PHP中灵活配置路由规则的实现方法和经验总结引言:在Web开发中,路由规则是非常重要的一部分,它决定了URL与具体的PHP脚本的对应关系。在传统的开发方式中,我们通常会在路由文件中配置各种URL规则,然后将URL与对应的脚本路径进行映射。但是,随着项目的复杂度增加和业务需求的变化,如果每个URL都需要手动配置,将会变得非常麻烦和不灵活。那么,在PHP中如何实

在现代Web应用程序中,实现网页导航和路由是十分重要的一环。利用JavaScript的函数来实现这个功能,可以使我们的Web应用程序更加灵活、可扩展和用户友好。本文将介绍如何使用JavaScript函数来实现网页导航和路由,并提供具体的代码示例。实现网页导航对于一个Web应用程序而言,网页导航是用户操作最频繁的一个部分。当用户点击页面上的

如何在Vue中使用路由实现页面跳转?随着前端开发技术的不断发展,Vue.js已经成为了目前最热门的前端框架之一。而在Vue开发中,实现页面跳转是必不可少的一部分。Vue提供了VueRouter来管理应用的路由,通过路由可以实现页面之间的无缝切换。本文将介绍如何在Vue中使用路由实现页面跳转,并附有代码示例。首先,在Vue项目中安装vue-router插件。

Uniapp是一个基于Vue.js的跨端框架,支持一次编写,同时生成H5、小程序、APP等多端应用,并且在开发过程中十分注重性能和开发效率。在Uniapp中,路由的动态添加与删除是开发过程中经常会遇到的问题,因此本文将介绍Uniapp中路由的动态添加与删除方法,并提供具体的代码示例。一、路由动态添加动态添加路由,可以根据实际需求,在页面加载时或者用户操作后,
