首页 > 编程语言 >VUE框架CLI组件化配置Router实现单页面路由程序省市切换联动------VUE框架

VUE框架CLI组件化配置Router实现单页面路由程序省市切换联动------VUE框架

时间:2024-09-19 22:52:01浏览次数:10  
标签:VUE CLI 框架 vue js Vue router import store

// 导入vue-router对象
import VueRouter from "vue-router";
import Hebei from "../components/hebei.vue";
import Henan from "../components/henan.vue";
// 创建路由器对象(在这个路由器对象中配置路由)
const router = new VueRouter({
    // 在这里配置所有的路由规则
    routes : [
        // 这就是一个路由
        {
            // 路由由path和component组成
            // 这个看作key
            // 只要路径检测到的是/hebei就切换到这个组件
            path : "/hebei",
            // 这个就是路由的value,路由的value是一个组件
            component : Hebei
        },
        {
            path : "/henan",
            component : Henan
        }
    ]
});
// 导出路由器对象
export default router;
// 这句话就等同于我们写的<script src="vue.js">
// 这就是在引入vue
import Vue from 'vue';
// 然后下一步是导入我们的根组件
import App from './App.vue';
// 导入混入
import {mix1} from './mixin.js';
import {mix2} from './mixin.js';
import {mix3} from './mixin.js';
// 导入插件
import {p1} from './plugins';
import VueResource from 'vue-resource';
// 导入Vue-Router插件
import VueRouter from 'vue-router';
// 导入路由器对象
import router from "./router/index.js"
// 导入vuex对象
import store from "./vuex/store.js"
 
//全局混入
Vue.mixin(mix1);
Vue.mixin(mix2);
Vue.mixin(mix3);
 
// 插件的使用通常放在创建Vue对象之前
// 插上插件
Vue.use(p1,1,2,3,4);
// 使用这个插件后,所有的vm和vc都会多一个叫$http的属性
Vue.use(VueResource);
// 一旦使用了这个插件那么创建vue对象的时候就可以传递一个配置项router
// router对象用来接收一个路由器对象
Vue.use(VueRouter);
 
// 这是关闭生产提示信息
Vue.config.productionTip = false
 
// 创建一个共享的VueComponent构造函数
// const VueComponentConstructor = Vue.extend({});
// 创建一个共享的VC对象
// const globalvc = new VueComponentConstructor();
 
 
// 创建VUE实例对象VM
const vm = new Vue({
  // 配置路由器配置
  router : router,
  // 增加了一个全新的配置项,store
  store : store,
  // 加上这个配置项之后,vm及其所有的vc对象上都会有这个属性$store
  // 以后vm和vc的$store都可以获取到这个store对象
  // 删除render函数就会导致报错
  // 因为没有可用的模板翻译器
  // 使用完整的vue.js或使用render函数才能解决这个问题
  // 为什么采用模板编译器的Vue.js放到脚手架呢?
  // 目的是减小体积,VUE.js包括两类,核心和模板编译器
  // 模板编译器可能占用vue.js体积的三分之一
  // 将来打包的时候,模板编译器没有存在的必要了
  // 体积大就会影响速度
  // render函数被自动调用,且会自动传过来一个参数
  // 这个参数是一个函数,createElement是一个函数
  // 这个函数可以用来创建元素
  // 用这个来创建元素就可以省掉我们的vue模板编译器了
  // render(createElement)
  // {
  //   return createElement(App);
  // }
  // 简写就是这个箭头函数
  render: h => h(App),
  // 利用生命周期机制,在对象创建时把我们的vm作为这个对象
  beforeCreate(){
    Vue.prototype.$bus = this;
  }
}).$mount('#app');
// 这里用的是$mount的方式绑定和el的方式是一样的
 
console.log(vm);
<template>
    <div>
        <div>
            <h1>省份</h1>
            <ul>
                <!-- 如果使用的是路由方式,就不能使用a标签超链接了 -->
                <!-- 需要使用vue-router提供的标签router-link -->
                <!-- <li><a href="/hebei">河北省</a></li> -->
                <!-- <li><a href="/henan" class="selected">河南省</a></li> -->
                <!-- router-link将来会被自动编译为a标签 -->
                <!-- active-class点中激活,点中的时候激活这个样式 -->
                <li><router-link to="/hebei" active-class="selected">河北省</router-link></li>
                <li><router-link to="/henan" active-class="selected">河南省</router-link></li>
            </ul>
        </div>
        <!-- 路由视图,起到一个占位的作用 -->
        <router-view></router-view>
    </div>
</template>
 
<script>
export default {
    name : "App"
}
</script>
 
<style>
    .s1{
        margin-left: 100px;
    }
    .selected{
        background-color: aqua;
    }
</style>
<template>
    <div>
        <div class="s1">
            <h2>市区</h2>
            <ul>
                <li>石家庄</li>
                <li>唐山</li>
                <li>保定</li>
                <li>邯郸</li>
            </ul>
        </div>
    </div>
</template>
 
<script>
export default {
    name : "Hebei"
}
</script>
 
<style>
 
</style>
<template>
    <div>
        <div class="s1">
            <h2>市区</h2>
            <ul>
                <li>洛阳</li>
                <li>开封</li>
                <li>安阳</li>
                <li>郑州</li>
            </ul>
        </div>
    </div>
</template>
 
<script>
export default {
    name : "Henan"
}
</script>
 
<style>
 
</style>

标签:VUE,CLI,框架,vue,js,Vue,router,import,store
From: https://blog.51cto.com/u_16322355/12059380

相关文章

  • [Java原创精品]基于Springboot+Vue的高校社团管理、学生社团招新平台
    项目提供:完整源码+数据库sql文件+数据库表Excel文件1、项目功能描述本项目角色为社团社长、学生用户、系统管理员三角色,社长登录进入后台,可切换至前台使用功能,学生用户只进入前台使用,系统管理员只进入后台管理操作。1.1注册注册功能:填写用户名、密码进行注册。(“我已......
  • 一个vue 页面
    好的,我会对你的代码进行一些样式上的调整,以使布局更加美观和实用。以下是修改后的代码:```html<template><divclass="login-page"><el-formref="formRef":model="form"class="centered-form"label-width="120px"><el-row:......
  • 集合框架底层使用了什么数据结构
    1.是什么        集合框架(CollectionFramework)是Java标准库的一部分,它提供了一系列接口和实现类,用于处理不同类型的集合。这些集合可以用于存储和操作对象,如列表、集合、映射等。集合框架的底层数据结构是多种多样的,具体取决于集合实现类的选择。1.List(列表)Array......
  • ssm基于SSM框架的二手房中介管理系统
    系统包含:源码+论文所用技术:SpringBoot+Vue+SSM+Mybatis+Mysql免费提供给大家参考或者学习,获取源码请私聊我需要定制请私聊目录第1章绪论 11.1课题背景 11.2课题意义 11.3研究内容 2第2章开发环境与技术 32.1Java语言 32.2MYSQL数据库 32.3IDEA开发......
  • 计算机毕业设计 基于协同过滤算法的个性化音乐推荐系统 Java+SpringBoot+Vue 前后端分
    ......
  • Springboot基于SpringBootVue的智能敬老院管理系统ebjal(程序+源码+数据库+调试部署+开
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着老龄化社会的到来,敬老院作为老年人生活的重要场所,其管理效率和服务质量直接关系到老年人的生活质量与幸福感。传统敬老院管......
  • Springboot基于springbootvue小学生学习阅读平台785j5(程序+源码+数据库+调试部署+开发
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景在当今信息化时代,阅读对于小学生而言不仅是获取知识的重要途径,也是培养思维能力和文化素养的关键环节。然而,传统的学习方式往往受限于......
  • vue中axios请求数据
    首先引入包:yarnaddaxios再导入importaxiosfrom'axios'<template><div><h1>登录页面</h1><form><labelfor="username">用户名:</label><inputtype="text"id="userna......
  • Springboot基于springbootvue图书馆选座系统设计与实现41bpt--程序+源码+数据库+调试
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容随着高校图书馆的规模不断扩大和学生数量的增加,图书馆座位管理成为了一个亟待解决的问题。为了提升座位利用率,优化学生的学习环境,本项目拟设计并实......
  • Java开发环境搭建:JDK与Eclipse的完美组合
    摘要:本文简述了Java开发环境的搭建,包括JDK的安装、环境变量配置,以及EclipseIDE的设置。提供了详细的步骤指导,帮助Java初学者快速搭建开发环境并运行第一个项目。Java的跨平台特性与环境需求我们写C/C++时,直接下载VisualStudio,然后在里面直接写代码就可以了。但是Java不行。这不是......