zoukankan      html  css  js  c++  java
  • Vue.js实现后台菜单切换

    • 因为刚初学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>
  • 相关阅读:
    if else配对问题
    未完
    c,c++,java格式总结
    c++笔记
    Vaadin
    J2msi 自己制作的把exe打成安装包简易GUI程序(第二版 带DLL注册)
    scala手动编译运行
    jframe去掉窗体
    jdk1.7
    vbox共享文件 挂载
  • 原文地址:https://www.cnblogs.com/fatRabbit-/p/10761448.html
Copyright © 2011-2022 走看看