Vue Web开发(一)

news2024/12/13 2:40:27

1. 环境配置

1.1. 开发工具下载

1.1.1. HbuilderX

  官网地址:https://uniapp.dcloud.net.cn/

1.1.2. Visual Studio Code

  官网地址:https://code.visualstudio.com/Download

1.1.3. Node环境

  官网地址:https://nodejs.cn/
  正常软件安装下载即可,打开检cmd过安装包安装node环境会自带npm工具。
在这里插入图片描述

1.1.4. 安装cnpm

  主要用来代替npm,因为npm下载速度过慢。

npm install -g cnpm -registry=https://registry.npm.taobao.org

在这里插入图片描述

1.1.5. 安装cnpm

npm install -g yarn

在这里插入图片描述
在这里插入图片描述

1.1.6. 安装 vue-cli 脚手架构建工具

  vue-cli 提供一个官方命令行工具,可用于快速搭建大型单页应用。
(1)输入命令:cnpm install -g @vue/cli
在这里插入图片描述
(2)验证是否安装成功
   注意是大写V,这里是脚手架版本,不是Vue版本,跟Vue2、Vue3无关。
在这里插入图片描述

1.2. 创建项目

(1) vue create 项目名称(不能有大写字符可以使用中划线或下划线)
在这里插入图片描述
(2) 选择项目类型
  成功后出现以下画面,我们选择Vue2。
在这里插入图片描述
  项目创建完成后,会生成这些文件。package.json会存储我们下载的所有插件。
在这里插入图片描述
   此处才是真正的Vue版本,cmd看到的是脚手架版本。
在这里插入图片描述

1.3. Element ui

   Element ui 官方文档:Element - The world’s most popular Vue UI framework
在这里插入图片描述

1.3.1. 全局引入Element ui

   安装npm i element-ui -S,-S等价于–save–dev
   --save:将保存配置信息到pacjage.json。默认为dependencies节点中。
   --dev:将保存配置信息devDependencies节点中。
   在mian.js入口文件中引入,import引入Element ui和样式,并Vue.use全局使用。
在这里插入图片描述

main.js文件
import Vue from 'vue';
import App from './App.vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
new Vue({
  el: '#app',
  render: h => h(App)
});

在这里插入图片描述

1.3.2. 按需引入Element ui

在这里插入图片描述
在这里插入图片描述

1.4. Vue路由使用

   引入npm i vue-router@3.2.0,这里使用指定版本。
在这里插入图片描述
   在根目录下新建router文件夹,router文件夹下新建router.js文件,所有路由逻辑待会编写在这个router.js文件。
在这里插入图片描述
   首先引入vue和vue-router,此处注意大小写!!!new一个VueRouter并用router接收,这样做是为了方便向外暴露router,进行修改配置mode为history,以数组的形式传入路由相关信息,用routes接收。

router/router.js文件
import Vue from 'vue';
// 注意这里模块是小写vue
import VueRouter from 'vue-router';
import Home from '../view/Home.vue';
Vue.use(VueRouter)
// routes是一个数组
import Vue from 'vue';
// 注意这里模块是小写vue
import VueRouter from 'vue-router';
Vue.use(VueRouter)
// routes是一个数组!!!!
const routes = [
    {
        path:'/',
        name:'Home',
        component:()=>import('../view/Home')//这个Home.vue页面待会会新建
    }
]
const router = new VueRouter({
    mode:'history',
    routes
})
export default router;

   在根目录下新建view文件夹,view文件夹下新建Home.vue页面。

Home.vue文件
<template>
    <div>这是Home页面</div>
</template>
<script>
    export default{
        name:'Home',
        data(){
            return{}
        }
    }
</script>

   在App.vue中写入,Home页面会展示过来,当然不仅仅是Home页面,新建其他页面绑定路由都可以。将vue原有的样式全部删除,后面会有影响。

//App.vue文件
<template>
  <div id="app">
    <!-- router-view会展示页面内容 -->
    <router-view></router-view>
  </div>
</template>
<script>
//记得引入
import HeeloWorld from '../components/HelloWorld.vue'
export default {
  name: 'App',
  components: {
    HelloWorld
  }
}
</script>
<style>
#app {
  /* 这里非常重要,这里将vue原有的样式全部删除,后面会有影响 */
  height: 100vh;
}
</style>

1.5. 路由切换

在这里插入图片描述
   (1)router.js文件,添加/User路由,选择正确路径。

//router/router.js文件的routes数组
import Vue from 'vue';
// 注意这里模块是小写vue
import VueRouter from 'vue-router';
import Home from '../view/Home.vue';
Vue.use(VueRouter)
// routes是一个数组
const routes = [
    {
        path: '/',
        name: 'Home',
        component: Home
    },
    {
        path: '/user',
        name: 'User',
        component: () => import('../view/User')
    }
]
const router = new VueRouter({
    mode: 'history',
    routes
})
export default router;

   (2)改写main.js文件

//main.js
import Vue from 'vue'
import App from './App.vue'
import 'element-ui/lib/theme-chalk/index.css';
//ElementUI全局引入
// import ElementUI from 'element-ui';
// Vue.use(ElementUI)
//ElementUI按需引入
import Button from 'element-ui';
Vue.use(Button)
import router from '../router/router.js';
Vue.config.productionTip = false
new Vue({
	router,
    render: h => h(App),
}).$mount('#app')

  (3) 改写HelloWorld.vue文件

//Helloworld.vue文件的template标签内容。
<template>
  <div class="hello">
    <!-- <el-row> -->
      <router-link to='/'>
          <el-button>Home按钮</el-button>
      </router-link>
      <router-link to='/user'>
          <el-button type="primary">User按钮</el-button>
      </router-link>
    <!-- </el-row> -->
  </div>
</template>
<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>

   (4)在App.vue中引入HelloWorld.vue组件。

//App.vue文件
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <HelloWorld msg="Welcome to Your Vue.js App" />
    <router-view></router-view>
  </div>
</template>
<script>
  import HelloWorld from './components/HelloWorld.vue'
  export default {
    name: 'App',
    components: {
      HelloWorld
    }
  }
</script>
<style>
  #app {
  height: 100vh;
  }
</style>

   (5)在view文件夹下新建User.vue测试所用。

//User.vue文件
<template>
    <div>网上User页面</div>
</template>
<script>
    export default{
        name:'User',
        data(){
            return{}
        }
    }
</script>

  可以通过两个按钮切换路由、切换页面。
在这里插入图片描述
  源码下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四、自然语言处理_02RNN基础知识笔记

1、RNN的定义 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09;是一种专门用于处理序列数据的神经网络架构&#xff0c;它与传统的前馈神经网络&#xff08;Feedforward Neural Network&#xff09;不同&#xff0c;主要区别在于它能够处理输入数…

速通SpringBoot+vue全栈开发教程

本人的环境配置&#xff1a; idea 2019 java&#xff08;jdk8&#xff09; apache-maven 3.6.1 tomcat 8.5.5 mysql 8.0.12 navicat 16 一、SpringBoot快速上手——创建一个springboot项目 进去之后报红 在设置里面修改maven的配置&#xff0c;改成自己下载的maven的地址 还因…

【开源代码】图像水印移除-依赖python-tensorflow

下载源码 git clone https://github.com/zuruoke/watermark-removal创建conda环境 conda create -n tensorflow_gpu python=3.7 conda activate tensorflow_gpu conda install tensorflow-gpu==1.15

MySQL导入.sql文件后数据库乱码问题

问题分析&#xff1a; 当导入.sql文件后&#xff0c;发现数据库中的备注出现乱码&#xff0c;通常是由于一下原因导致&#xff1a; 字符集不匹配&#xff1a;.sql文件、MySQL服务器、客户端连接使用的字符集不一致。备注内容编码问题&#xff1a;备注内容本身的编码格式与数据…

Qt 2D绘图之五:图形视图框架的结构、坐标系统和框架间的事件处理与传播

参考文章链接: Qt 2D绘图之五:图形视图框架的结构和坐标系统 Qt 2D绘图之六:图形视图框架的事件处理与传播 图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们。但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动、…

大模型面试题:P-tuning、Prompt-tuning和Prefix-tuning区别是什么?

我整理了1000道算法面试题&#xff0c;可以在下面的地方获取&#xff0c;面试题还是有点多的 P-tuning、Prompt-tuning和Prefix-tuning区别是什么&#xff1f; prefix-tuning对比P-tuning&#xff1a;Prefix-Tuning是将额外的embedding加在开头&#xff0c;看起来更像模仿Inst…

数据结构初阶之顺序表的介绍与动态顺序表的实现

一、线性表 线性表&#xff08;linear list&#xff09;是由 n 个具有相同特性的数据元素组成的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就说是连续…

学习日志020---qt信号与槽

作业 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QPushButton,QLineEditfrom Form import Ui_Form from second import Ui_second from PySide6.QtCore import Qtclass MyWidget(QWidget,Ui_Form):def __init__(self):super().__init__()self.setupUi(se…

大语言模型技术相关知识-笔记整理

系列文章目录 这个系列攒了很久。主要是前段之间面试大语言模型方面的实习&#xff08;被拷打太多次了&#xff09;&#xff0c;然后每天根据面试官的问题进行扩展和补充的这个笔记。内容来源主要来自视频、个人理解以及官方文档中的记录。方便后面的回顾。 文章目录 系列文章…

9.13[debug]

这个错误表明 Git 尝试通过 HTTPS 协议连接到 Gitee 上的仓库时&#xff0c;实际上却尝试连接到了本地的 127.0.0.1&#xff08;即 localhost&#xff09;的 7890 端口&#xff0c;这通常是因为 HTTP 代理配置错误或全局 Git 配置中的代理设置不正确 如果这些命令返回了代理设…

Android笔记(三十四):onCreate执行Handler.post在onResume后才能执行?

背景 偶然发现一个点&#xff0c;就是在onCreate执行Handler.post在onResume后才执行&#xff0c;以下是测试代码 多次运行的结果一致&#xff0c;为什么execute runnable不是在onCreate和onResume之间执行的呢&#xff0c;带着疑问撸了一遍Activity启动流程 关键源码分析 …

Python基于 Opencv+wxPython 的人脸识别上课考勤系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Alogrithm:费式数列

1. 说明 Fibonacci 为1200年代的欧洲数学家&#xff0c;在他的著作中曾经提到&#xff1a;「若有一只免子每个月生一只小免子&#xff0c;一个月后小免子也开始生产。起初只有一只免子&#xff0c;一个月后就有两只免子&#xff0c;二个月后有三只免子&#xff0c;三个月后有五…

【机器学习】机器学习的基本分类-监督学习-决策树-CART(Classification and Regression Tree)

CART&#xff08;Classification and Regression Tree&#xff09; CART&#xff08;分类与回归树&#xff09;是一种用于分类和回归任务的决策树算法&#xff0c;提出者为 Breiman 等人。它的核心思想是通过二分法递归地将数据集划分为子集&#xff0c;从而构建一棵树。CART …

[高阶数据结构七]跳表的深度剖析

1.前言 跳表是一种查找结构&#xff0c;它有着与红黑树、AVL树和哈希表相同的作用&#xff0c;那么已经学习了红黑树和哈希表这种效率高的数据结构&#xff0c;那么为什么还需要学习跳表呢&#xff1f;--请听我娓娓道来。 本章重点&#xff1a; 本章着重讲解跳表的概念&#x…

基于MATLAB的信号处理工具:信号分析器

信号&#xff08;或时间序列&#xff09;是与特定时间相关的一系列数字或测量值&#xff0c;不同的行业和学科将这一与时间相关的数字序列称为信号或时间序列。生物医学或电气工程师会将其称为信号&#xff0c;而统计学家或金融定量分析师会使用时间序列这一术语。例如&#xf…

Linux Shell 脚本:一键在 Ubuntu 系统中打开和关闭网络代理

文章目录 shell脚本使用说明验证设置 shell脚本 以下是一个简单的 Shell 脚本&#xff0c;用于在 Ubuntu 系统中打开和关闭网络代理开关 #!/bin/bash# 检查传入的参数 if [ "$#" -ne 1 ]; thenecho "Usage: $0 <1|0>"echo "1: Enable proxy (…

Android ConstraintLayout 约束布局的使用手册

目录 前言 一、ConstraintLayout基本介绍 二、ConstraintLayout使用步骤 1、引入库 2、基本使用&#xff0c;实现按钮居中。相对于父布局的约束。 3、A Button 居中展示&#xff0c;B Button展示在A Button正下方&#xff08;距离A 46dp&#xff09;。相对于兄弟控件的约束…

【AI工具】强大的AI编辑器Cursor详细使用教程

目录 一、下载安装与注册 二、内置模型与配置 三、常用快捷键 四、项目开发与问答 五、注意事项与技巧 参考资料 近日&#xff0c;由四名麻省理工学院&#xff08;MIT&#xff09;本科生共同创立的Anysphere公司宣布&#xff0c;其开发的AI代码编辑器Cursor在成立短短两年…

Linux-GPIO应用编程

本章介绍应用层如何控制 GPIO&#xff0c;譬如控制 GPIO 输出高电平、或输出低电平。 只要是用到GPIO的外设&#xff0c;都有可能用得到这些操作方法。 照理说&#xff0c;GPIO的操作应该是由驱动层去做的&#xff0c;使用寄存器操作或者GPIO子系统之类的框架。 但是&#xff0…