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

01Vue3

Vite3构建Vue3项目

1、输入命令npm init vite,使用包管理器初始化一个vite项目;

2、输入项目名称;

3、选择框架,vue

4、选择开发语言,JavaScript

5、cd 到项目目录

6、npm install

7、npm run dev

简单的Vue页面

<script setup>
</script><template><div class="div">hello 666</div>
</template><!--scoped:下面的样式只有当前组件生效-->
<!--如果不加scoped,则下面的样式对当前组件内引入的其他组件也生效-->
<style scoped>
.div {color: red
}
</style>

Vue3.0setup函数

setup函数是vue3中专门为组件提供的新属性。

创建组件实例,然后初始化props,紧接着就调用setup函数,会在beforeCreate钩子之前被调用

vue3.0中Vue页面的setup函数不是写在<script setup>上的。

<script>
import { defineComponent, reactive } from 'vue';
export default defineComponent({//setup是一个入口函数setup() {//响应式数据const state = reactive({count: 100,id: 1,name: 'jack',arr: [{ title: 1, id: 1 }, { title: 2, id: 2 }]})const change = () => {console.log(1111);state.arr.push({ title: 3, id: state.arr.length + 1 });}//将响应式数据开放出来,供template模版使用return {...state,//state解构完之后,数值类型丧失响应特性,引用类型仍然有响应特性change};},
})
</script><template><div class="div"><ul><li v-for="(v, i) in arr" :key="v.id">{{ v.title }}</li></ul>hello{{ count }} 666<button @click="change">点击</button></div>
</template><!--scoped:下面的样式只有当前组件生效-->
<!--如果不加scoped,则下面的样式对当前组件内引入的其他组件也生效-->
<style scoped>
.div {color: red
}
</style>

注意:在setup()函数中无法访问到this

vue3.2setup函数

<script setup>
import { ref, reactive } from 'vue'
//定义响应式数据,ref底层也是通过reactive实现的。let count = reactive({value:100})。
//模版中使用为了简化,可以直接使用count获取value的值。
//但是在js中,还是要通过count.value进行逻辑操作
let count = ref(100);//定义响应式数据
let arr = reactive([{ title: 1, id: 1 }, { title: 2, id: 2 }]);//定义响应式数据
let obj = reactive({id:99})
const change = () => {arr.push({ title: 3, id: arr.length + 1 })count.value += 1;
}
</script><template><div class="div"><ul><li v-for="(v, i) in arr" :key="v.id">{{ v.title }}</li></ul>hello{{ count }} 666--{{ obj.id }}<button @click="change">点击</button></div>
</template>

Vue3全家桶

reactive函数

reactive()函数接收一个普通对象,返回一个响应式的数据对象。底层是ES6的Proxy实现的

const o1 = reactive({id:1});
const o2 = {id:2};
//o2本来没有双向绑定,正常不能实时显式到页面上
//但是o1是一个双向绑定对象,o1.id的变化,会触发页面的刷新,从而也会导致o2.id被刷新到页面上
function change(){o1.
http://www.xdnf.cn/news/17311.html

相关文章:

  • [优选算法专题一双指针——三数之和]
  • Python训练营打卡Day26-函数专题2:装饰器
  • 最长回文子串
  • 远期(Forward)交易系统全球金融市场解决方案报告
  • Java 之 设计模式
  • Python名称映射技术:基于序列元素的高级访问模式详解
  • [科普] AI加速器架构全景图:从GPU到光计算的算力革命
  • 豆包新模型+PromptPilot:AI应用开发全流程实战指南
  • 【C++高阶五】mapset对红黑树的封装
  • Nestjs框架: 接口安全与响应脱敏实践 --- 从拦截器到自定义序列化装饰器
  • 【昇腾】Atlas 500 A2 智能小站制卡从M.2 SATA盘启动Ubuntu22.04系统,重新上电卡死没进系统问题处理_20250808
  • 大语言模型提示工程与应用:提示词基础使用方式
  • Redis原理,命令,协议以及异步方式
  • 分布式膛压应变测量系统
  • 中国电信清华:大模型驱动的具身智能发展与挑战综述
  • BGP综合实验
  • 代码随想录算法训练营第三十八天、三十九天|动态规划part11、12
  • 考研复习-计算机组成原理-第四章-指令系统
  • 机器人焊机智能流量调节
  • 内容分发机制研究:实测一款多源短视频聚合App
  • isulad + harbor私有仓库登录
  • 从安卓兼容性困境到腾讯Bugly的救赎:全链路崩溃监控解决方案-卓伊凡|bigniu
  • 机器学习概念1
  • STM32HAL 快速入门(二):用 CubeMX 配置点灯程序 —— 从工程生成到 LED 闪烁
  • 服务器登上去,显示 failed to send WATCHDOG 重启有效吗?
  • Android 之 ANR问题的全面解析与优化方案
  • Godot ------ 制作属于自己的卡牌
  • 讲一讲@ImportResource
  • C++ WonderTrader源码分析之自旋锁实现
  • 宁商平台税务新举措:合规护航,服务暖心