首页 > 其他分享 >vue3基础上

vue3基础上

时间:2024-05-29 20:35:42浏览次数:22  
标签:npm count vue const name 基础 Vue vue3

1. 网站开发Vue3基础上

1.1 什么是Vue【官网

  1. Vue是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助你高效的开发用户界面。无论是简单还是复杂的界面,Vue都可以胜任。
  2. Vue是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。

1.2 为什么要使用Vue

  • 简单易学
  • 渐进式框架
  • 组件化开发
  • 响应式数据绑定
  • 性能好和轻量级

1.3 Vue初体验-实现计数器

<!DOCTYPE html>
<html>
    <!-- 导入vue的库,从公网CDN导入 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <!-- 创建一个带有id="app"的div,vue应用程序的根元素 -->
    <div id="app">
        <!-- vue语法中的插值表达式,可以直接显示vue定义的数据内容 -->
        <p>{{ message }}</p>
        <p>{{ count }}</p>
        <!-- 定义了一个按钮,绑定了一个指令click -->
        <button @click="count++">
            Count is :{{ count }}
        </button>
    </div>

    <script>
        // 从vue对象中提取出createApp这个函数
        // vue.createApp
    const { createApp } = Vue
    // 创建一个新的Vue应用实例,并将其挂载到id为app的这个元素上
    createApp({
        // data是用于定义组件或实例中的数据
        data() {
        // 把数据导出,可以被元素使用
        // 这些是双向绑定的
        return {
            message: 'Hello Vue',
            count: 0
        }
        }
    }).mount('#app')    
    </script>
</html>

1.4 Vue新一代脚手架Vite项目工程化

PS C:\Users\86152\Desktop\VUE基础> npm create [email protected] 
√ Project name: ... vue-study
√ Select a framework: » Vue
√ Select a variant: » JavaScript

Scaffolding project in C:\Users\86152\Desktop\VUE基础\vue-study...

Done. Now run:

  cd vue-study
  npm install
  npm run dev

npm notice 
npm notice New major version of npm available! 9.5.1 -> 10.5.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.0
npm notice Run npm install -g [email protected] to update!
npm notice
PS C:\Users\86152\Desktop\VUE基础> cd .\vue-study\
PS C:\Users\86152\Desktop\VUE基础\vue-study> npm install 

added 25 packages, and audited 26 packages in 56s

4 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS C:\Users\86152\Desktop\VUE基础\vue-study> npm run dev

> [email protected] dev
> vite


  VITE v4.5.3  ready in 494 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h to show help

1.5 Vite项目工程化详解

目录结构介绍

  1. node_modules: 存放项目依赖的其他模块
  2. public: 用于存放静态文件,可以使用/xxxx进行访问,一般会 把第三方的文件放在这个目录
  3. src: 项目源代码目录
  • assets: 也是用来存放静态文件,比如说字体、图片、ocon等
  • components: 用于存放组件,一个个Vue文件
  • App.vue: 项目的根组件,index.html通过导入main.js实现
    App.vue和index.html的内容绑定,同时其他组件也通过App.vue
    进行导入。
  • main.js: 程序的入口文件,可以实现App.vue和index.html的绑定
  • style.css: 全局样式表,也是通过main.js导入的
  • package.json: 项目的描述文件,依赖的包、版本
  • 没有被列出来的一些目录:
    • src/
      • router: vue路由配置目录
      • store: 状态存储
      • views: 页面组件
      • utils: 封装的工具类
      • config: 程序配置
      • api: 后端接口配置

1.6 Vue中setup的ref和reactive的区别

// ref reactive 区别
// ref: 一般用于定义简单的响应式数据
// reactive: 一般用于创建一个响应式对象
const count = ref(0)
const name = ref("wer")
console.log(name)
name.value = "wer-new"
console.log(name)

// 定义一个对象
const info = reactive({
  name: "wer",
  age: 25,
  address: "beiJing"
})

1.7 Vue定义只读数据

// Vue定义一个只读数据
const readOnlyData = readonly("我是只读数据,不能修改")
console.log(readOnlyData)

1.8 Vue指令

1.8.1 v-on

// 定义一个事件函数
const plus1 = (step) => {
  count.value += step
}

v-on 可以简写成 @
    <button type="button" @click="plus1(2)">count is {{ count }}</button>

1.8.2 v-model

let inputValue = ref(1)
// 定义一个事件函数
const plus1 = () => {
  count.value += inputValue.value
  console.log("step:", inputValue.value)
}

</script>

<template>

  <div class="card">
    <!-- v-model: 用来实现数据的双向绑定的 -->
    <input v-model="inputValue" placeholder="请输入你要加的值" />
    <button type="button" @click="plus1(inputValue)">count is {{ count }}</button>
    <p>用户信息:{{ info }}</p>
    <p>用户姓名:{{ info.name }}</p>
  </div>

如果在输入框中修改的话,会将数字改成字符串,我们需要用修饰符去处理

1.8.3 v-model修饰符

  <div class="card">
    <!-- v-model: 用来实现数据的双向绑定的 -->
    <!-- 
      修饰符
      .number: 把value转成number类型
      .trim: 去除左右两边的空格
      .lazy: 当数据失去焦点或者回车时才会更新
     -->
    <input v-model.number="inputValue" placeholder="请输入你要加的值" />
    <button type="button" @click="plus1(inputValue)">count is {{ count }}</button>
    <p>用户信息:{{ info }}</p>
    <p>用户姓名:{{ info.name }}</p>
  </div>

1.8.4 v-show

const display = () => {
  boolValue.value = !boolValue.value
}

let boolValue = ref(true)
</script>

<template>

  <div class="card">
    <!-- v-model: 用来实现数据的双向绑定的 -->
    <!-- 
      修饰符
      .number: 把value转成number类型
      .trim: 去除左右两边的空格
      .lazy: 当数据失去焦点或者回车时才会更新
     -->
    <input v-model.number="inputValue" placeholder="请输入你要加的值" />
    <button type="button" @click="plus1(inputValue)">count is {{ count }}</button>
    <p>用户信息:{{ info }}</p>
    <p>用户姓名:{{ info.name }}</p>
    <!-- v-show: 可以帮助我们很简单的实现元素的显示和隐藏 -->
    <h1 v-show="boolValue">这是一个标题</h1>
    <button type="button" @click="display()" >{{ boolValue?"隐藏":"显示" }}</button>
  </div>

标签:npm,count,vue,const,name,基础,Vue,vue3
From: https://www.cnblogs.com/wangerrui/p/18088276

相关文章

  • Vue3使用Composition API实现响应式
    title:Vue3使用CompositionAPI实现响应式date:2024/5/29下午8:10:24updated:2024/5/29下午8:10:24categories:前端开发tags:Vue3CompositionRefsReactiveWatchLifecycleDebugging1.介绍CompositionAPI是Vue.js3中新增的一组API,用于在组件中组合逻辑......
  • Vue3使用Composition API实现响应式
    title:Vue3使用CompositionAPI实现响应式date:2024/5/29下午8:10:24updated:2024/5/29下午8:10:24categories:前端开发tags:Vue3CompositionRefsReactiveWatchLifecycleDebugging1.介绍CompositionAPI是Vue.js3中新增的一组API,用于在组件中组合逻辑和功......
  • 【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
    文章目录......
  • 618精选编程书单:学好代码是用好大模型的基础
      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学......
  • 《用ChatGPT轻松搞定Java编程难题:从基础到复杂案例的全面解析》
    ChatGPT国内使用体验点击(文件中并非网站跳转而是详细教程):Docshttps://uajqbcov4oa.feishu.cn/docx/GmeGdznJkoc3nzxHECQcojZ9nXg?from=from_copylink随着人工智能技术的快速发展,越来越多的开发者开始使用ChatGPT来辅助解决编程中的问题。ChatGPT不仅可以快速生成代码,还能进行......
  • java基础
    1.类的概念包:一些接口和类集合在一起,方便使用,类似c语言的头文件使用import关键词,将所用的包导入类:【修饰符】class类名{类体}类中包含构造函数 ,对象(变量),方法等在一个程序中,只有一个pubic类,有一个主类中有main接口,是主程序的接口进入类,用来写一整块的功能【修饰符】包......
  • 升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框
    升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0uniapp、vue、android、web框架:Vue3+SpringBoot3),界面功能(三) 主要功能要点:     权限管理(组织机构、用户管理、角色管理、岗位管理)     系统设置(菜单管理、参数管理、数据字典、定时任务、文件管......
  • AI大模型探索之路-实战篇10:数据预处理的艺术:构建Agent智能数据分析平台的基础
    系列篇章......
  • 学习VUE3——模板引用ref
    在某些情况下,我们仍然需要直接访问底层DOM元素。要实现这一点,我们可以使用特殊的refattribute:<inputref="input">ref是一个特殊的attribute,和v-for章节中提到的key类似。它允许我们在一个特定的DOM元素或子组件实例被挂载后,获得对它的直接引用。这可能很有用,比......
  • Three.js 中的场景与相机基础
    Three.js中的场景与相机基础一、场景(Scene)在Three.js中,场景是所有3D对象存在和交互的容器。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨:它就像是一个虚拟的3D空间,我们可以在其中添加各种几何体、灯光等元素。场景提供了一个环境,让我们可以组......