当前位置: 首页 > article >正文

Vue理解01

项目建立流程

  • 项目文件夹终端vue ui可视化新建项目(需要一些时间)
  • vscode打开项目
  • npm run serve运行

架构理解:

  • 首先打开的页面默认是index.html
  • index.html默认引用main.js
  • main.js引用需要的页面,默认App.vue。Vue示例挂载
  • 可以在viewcomponent里创建组件或页面
    • view中文件以.vue结尾,包括三部分:
      • template:写html内容
      • script:控制模板当中数据来源和行为
      • style:略

首先实现在App.vue中引用另一个自建页面(使用element实现)
main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.config.productionTip = false
Vue.use(ElementUI);

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

App.vue

<template>
  <div>
    <element-view></element-view>
    <h1>{{message}}</h1>
  </div>
</template>

<script>
  import ElementView from './views/element/ElementView.vue'

  export default {
    components: {ElementView},
    data(){
      return {
        message: "I'm Lzy"
      }
    },
    methods:{

    }
  }
</script>

views/element/ElementView.vue

<template>
    <div>
        <el-button type="primary">主要按钮</el-button>
    </div>
</template>

<script>
export default {
    
}
</script>

<style>

</style>

下一步,通过导航栏实现页面切换

路由(router):URL中哈希(#)与组件的对应关系。

步骤1:配置路由router/index.js

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  {
    path: '/part1',     			  //哈希匹配网址
    name: 'part1',                    //起个名字
    component: () => import('../views/element/ElementView.vue')    //对应页面
  },
  {
    path: '/part2',
    name: 'part2',
    component: () => import('../views/element/PartTwo')
  },
  {                                  //默认第一次访问是'/',需要把这个位置重定向到有效页面。不加这个会出bug。
    path: '/',
    redirect: '/part1'
  }                                
]

const router = new VueRouter({
  routes
})

export default router

同时在对应路径新建对应.vue页面part2

最后修改App.vue(不动的元素放这里,需要切换的部分用标签代替表示即可)

<template>
  <div id="app">

    <!-- element布局 -->
    <el-container>     
      <!-- 头部栏  -->
      <el-header style="margin:0px;height: 80px">
        <h1 style="line-height: 40px; font-weight: blod; font-size: 30px; text-align:center">
          {{ message }}
        </h1>
      </el-header>
      <!-- 主体栏 -->
      <el-main>
            <!-- 导航栏 -->
            <el-menu
              router
              :default-active="$route.path"
              class="el-menu-demo"
              mode="horizontal"
              background-color="#545c64"
              text-color="#fff"
              active-text-color="#ffd04b"
            >
              <el-menu-item index="/part1"> 板块一</el-menu-item>
              <el-menu-item index="/part2"> 板块二</el-menu-item>
              <el-menu-item index="/part3"> 板块三</el-menu-item>
            </el-menu>
          
          <router-view></router-view>

      <element-view></element-view>

      </el-main>
    </el-container>
    
  </div>
</template>

<script>
  // import ElementView from './views/element/ElementView.vue'

  export default {
    // components: {ElementView},
    data(){
      return {
        message: "System name"
      }
    },
    methods:{

    }
  }
</script>

<style>
  .el-menu {
    display: flex;
    justify-content: space-evenly;
  }
  .el-menu-item {
    width: 33%;
    text-align: center;
    font-size: 18px !important;
  }
</style>

之后改进:

使用part1完成静态数据的展示
使用part2完成特定种类数据的展示

之后搭建后端,完成数据交换。

展示特定数据

为了异步数据加载:npm install axios

  • 写钩子函数:mounted()
  • 通过axios获取数据
  • 渲染数据

目前需要先完成后端Django的搭建


http://www.kler.cn/a/132340.html

相关文章:

  • 23种设计模式-备忘录(Memento)设计模式
  • 视频融合×室内定位×数字孪生
  • Gin路由深入
  • 人工智能:塑造未来的工作与生活
  • 【HarmonyOS】鸿蒙系统在租房项目中的项目实战(一)
  • Qt 的 QThread:多线程编程的基础
  • 微内核操作系统
  • 【Java 进阶篇】JQuery 遍历 —— 无尽可能性的 `each` 之旅
  • CSS-列表属性篇
  • 世微 降压恒流驱动IC 景观亮化洗墙灯舞台灯汽车灯LED照明 AP5199S
  • 【MATLAB源码-第82期】基于matlab的OFDM系统载波频移偏差(CFO)估计,对比三种不同的方法。
  • 每日一练 | 华为认证真题练习Day132
  • 数据库的基本操作
  • CV计算机视觉每日开源代码Paper with code速览-2023.11.14
  • Linux Traefik工具Dashboard结合内网穿透实现远程访问
  • axios升级依赖版本后报错SyntaxError: Cannot use import statement outside a module
  • Netty传输object并解决粘包拆包问题
  • [Vue 代码模板] Vue3 中使用 Tailwind CSS + NutUI 实现侧边工具栏切换主题
  • 使用vscode的ssh进行远程主机连接
  • CVF_统一多模态之文字生成
  • VUE基础的一些实战总结
  • Linux:systemctl常用命令
  • 小命令,大世界
  • vue2+elementUI 仿照SPC开发CPK分析工具
  • 1334. 阈值距离内邻居最少的城市/Floyd 【leetcode】
  • 基于 Amazon EKS 搭建开源向量数据库 Milvus