解决使用vue.js路由后失效的问题
程序员文章站
2022-03-13 11:21:42
新学了vue.js中的路由 在之前写的vue的demo上加上了简单的路由例子(),但是加上点击后只有地址栏变化,内容并不变.且之前用jquery写的一些效果也失效了.最后找...
新学了vue.js中的路由 在之前写的vue的demo上加上了简单的路由例子(),但是加上点击后只有地址栏变化,内容并不变.且之前用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> <div id="top-menu"> <div class="logo"> <img src="baidu.gif" alt=""> </div> <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> </div> <div 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> <!-- 路由内容显示 --> <div class = "content"> <router-view></router-view> </div> </div> </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:'<div>foo</div>'} const list = {template:'<div>list</div>'} 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>
以上这篇解决使用vue.js路由后失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
解决v-for中使用v-if或者v-bind:class失效的问题
-
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
-
Vue.js 使用v-cloak后仍显示变量的解决方法
-
解决Tensorflow使用pip安装后没有model目录的问题
-
Python中循环后使用list.append()数据被覆盖问题的解决
-
解决layer.open后laydate失效的问题
-
基于vue打包后字体和图片资源失效问题的解决方法
-
解决v-for中使用v-if或者v-bind:class失效的问题
-
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
-
vue动画打包后失效问题的解决方法