- 因为刚初学Vue.js,暂时遇到以下问题,待之后解决
- 点击父节点,怎么隐藏显示子节点
- 点击父节点或子节点,切换li的class="active"
- iframe怎么自适应高度
- 思路
- 这里是通过vue.router进行切换
- 效果图
- 代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="../../favicon.ico"> <title>Dashboard Template for Bootstrap</title> <!-- Bootstrap core CSS --> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/dashboard.css" rel="stylesheet"> <script src="js/jquery.min.js"></script> <script src="bootstrap-4.3.1-dist/js/bootstrap.min.js"></script> <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script> <script src="https://cdn.staticfile.org/vue-router/2.7.0/vue-router.min.js"></script> <style> .smail-ul { list-style-type: none; } .router-view-style { width: 100%; height: 100%; } .router-view-iframe-style { width: 100%; height: 1280px; } </style> </head> <body> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Project name</a> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="#">Dashboard</a></li> <li><a href="#">Settings</a></li> <li><a href="#">Profile</a></li> <li><a href="#">Help</a></li> </ul> <form class="navbar-form navbar-right"> <input type="text" class="form-control" placeholder="Search..."> </form> </div> </div> </nav> <div class="container-fluid" id="app"> <div class="row"> <div class="col-sm-3 col-md-2 sidebar"> <ul class="nav nav-sidebar"> <li > <a href="#">用户管理 <span class="sr-only">(current)</span></a> <ul class="smail-ul"> <li><a href="#"> <router-link to="/managementUser">管理用户</router-link> </a></li> </ul> </li> <li class="active"> <a href="#">行程游记管理</a> <ul class="smail-ul"> <li><a href="#"> <router-link to="/managementTravel">管理游记</router-link> </a></li> </ul> </li> <li> <a href="#">攻略计划管理</a> <ul class="smail-ul"> <li><a href="#"> <router-link to="/managementPlan">管理计划</router-link> </a></li> </ul> </li> <li> <a href="#">攻略问答管理</a> <ul class="smail-ul"> <li><a href="#"> <router-link to="/managementProblem">管理问题</router-link> </a></li> <li><a href="#"> <router-link to="/managementReply">管理回答</router-link> </a></li> </ul> </li> <li> <a href="#">玩转当地管理</a> <ul class="smail-ul"> <li><a href="#"> <router-link to="/addAttraction">添加景点</router-link> </a></li> <li><a href="#"> <router-link to="/managementAttraction">管理景点</router-link> </a></li> <li><a href="#"> <router-link to="/addFood">添加美食</router-link> </a></li> <li><a href="#"> <router-link to="/managingFood">管理美食</router-link> </a></li> <li><a href="#"> <router-link to="/addAccommodation">添加住宿</router-link> </a></li> <li><a href="#"> <router-link to="/managementAccommodation">管理住宿</router-link> </a></li> </ul> </li> </ul> </div> <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> <!--<h1 class="page-header">Dashboard</h1>--> <div class="row placeholders"> <!-- 路由出口 --> <!-- 路由匹配到的组件将渲染在这里 --> <router-view class="router-view-style"> </router-view> </div> </div> </div> </div> </body> <script> // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter) //1. 定义(路由)组件 const ManagementUser = {template: '<iframe frameborder="0" class="router-view-iframe-style" src="login.html"></iframe>'} const ManagementTravel = {template: '<div>Management travel</div>'} const ManagementPlan = {template: '<div>Management Plan</div>'} const ManagementProblem = {template: '<div>Management Problem</div>'} const ManagementReply = {template: '<div>Management Reply</div>'} const AddAttraction = {template: '<div>Add Attraction</div>'} const ManagementAttraction = {template: '<div>Management Attraction</div>'} const AddFood = {template: '<div>Add Food</div>'} const ManagingFood = {template: '<div>Managing Food</div>'} const AddAccommodation = {template: '<div>Add Accommodation</div>'} const ManagementAccommodation = {template: '<div>Management Accommodation</div>'} //template: '<div>User{{ $route.params.id}}</div>' // 2. 创建 router 实例,然后传 `routes` 配置 // 你还可以传别的配置参数, 不过先这么简单着吧。 const router = new VueRouter({ //定义路由 //每个路由应该映射一个组件。 其中"component" 可以是 //创建路由实例, routes: [ {path: '/managementUser', component: ManagementUser}, {path: '/managementTravel', component: ManagementTravel}, {path: '/managementPlan', component: ManagementPlan}, {path: '/managementProblem', component: ManagementProblem}, {path: '/managementReply', component: ManagementReply}, {path: '/addAttraction', component: AddAttraction}, {path: '/managementAttraction', component: ManagementAttraction}, {path: '/addFood', component: AddFood}, {path: '/managingFood', component: ManagingFood}, {path: '/addAccommodation', component: AddAccommodation}, {path: '/managementAccommodation', component: ManagementAccommodation}, ] }) // 4. 创建和挂载根实例。 // 记得要通过 router 配置参数注入路由, // 从而让整个应用都有路由功能 const app = new Vue({ router }).$mount('#app'); </script> </html>
转载于:https://www.cnblogs.com/fatRabbit-/p/10761448.html