Vue3学习总结

学习Vue3,最好的地方是官网:https://cn.vuejs.org/guide/quick-start.html
我这里只是自己的总结,以加深自己的学习记忆。如果其他人想学习Vue3,建议直接去官网学习。
1、已创建好的Vue3工程再次启动的命令:npm run dev。Vue3的代码至少分成两部分,一个是<–script steup>这里写类JS代码 <–script>,一个是<–template> 这里写类HTML语法<–template>。这里的script和tempate前的–是多余的,因为不写这个符号,就会被变成优快云网页脚本,无法呈现。
2、文本绑定:mustache语法是一种数据与表现分离的语法,用两个大括号来表示。vue3用的就是mustache语法,它在HTML中用两个大括号来括住JS传递来的文本
3、所有的Vue3指令,都是在HTML属性中,用v-开头的特殊属性
4、属性绑定:使用v-bind:命令来实现属性绑定,如果是绑定单个属性,命令为v-bind:attr=“attr”,也可以写为v-bind:attr,也可以简写为:。如果是通过绑定一个映射表来一次性绑定多个属性,命令为v-bind=“map”,其中,map是一个映射表。
5、事件绑定:使用v-on:命令来实现事件绑定。如v-on:click=“doSomething”,可以用@符号来代替v-on:,如@click=“doSomething”
6、可以用[ ]来实现动态的属性或者事件绑定。
v-bind:[attrs]=“myattr”,当attrs值等于id时,则其等同于v-bind:id=“myattr”
v-on:[event] = “doSomething”,当event等于onclick时,则等同于v-on:click= “doSomething”
7、vue3中所有的数据绑定,都支持表达式。什么是表达式:即可以作为return返回值的语句。如:
{{ number + 1 }}

{{ ok ? ‘YES’ : ‘NO’ }}

{{ message.split(‘’).reverse().join(‘’) }}

<–div :id=“list-${id}”><–/div> (这里的–也是故意额外加的)

8、我跳过了响应式基础的学习,回头记得学
9、计算属性:使用computed属性,可以给template传递一个经过计算后的值,当这个值放在缓存中,当这个值不发生改变时,则JS不会再次执行computed,这样就能提高运行速度。函数也能提供经过计算后的值,但是不论传递的值有无改变,函数每次都会运行,速度会比computed慢。
计算属性的Vue语法是:
const this_value = computed( ()=>),()=>的括号中不要放任何值,=>后用{}跟一串代码,或者是一个函数。

10、class属性是一个特殊属性,因此vue3对这个属性的绑定做了增强。
可以用大括号括住class名称,然后在class名称后加一个冒号以及布尔值,来控制该class是否绑定。(普通v-bind=““的引号不能省略)
可以用中括号来一次绑定多个class,且在中括号中可以使用表达式。当然使用大括号也可以绑定多个class,区别在于大括号里的可以用冒号+布尔值来决定该class是否绑定。中括号可以用表达式来决定该class是否绑定。
下面两种写法,效果是一样的。
<-div :class=”{class1:isActive, class2:isError}”> 66 <-/div>
<-div :class=“[isActive ? class1 : ’ ', isError ? class2 : ’ ']}”> 66 <-/div>

11、绑定CSS样式,是通过绑定style属性来实现的,语法为v-bind:style=“myStyle”.其中,myStyle是在vue中自定义的样式
如果有多个样式,则用中括号括起来。

### Vue3 学习资料总结与最佳实践 #### 1. 创建 Vue3 项目 Vue3 提供了多种方式来初始化项目,推荐使用 Vite 或 Vue CLI。Vite 是基于 ESBuild 和 Rollup 的新一代构建工具,能够显著提高开发体验和性能[^1]。 ```bash npm create vite@latest my-vue-app --template vue cd my-vue-app npm install npm run dev ``` #### 2. Composition API 基础 Composition API 是 Vue3 中的核心改进之一,它允许开发者通过逻辑关注点而不是组件生命周期来组织代码。`setup` 方法作为入口,提供了 `reactive`, `ref`, `computed`, `watch` 等核心方法[^1]。 - **Reactive**: 使用 `reactive` 定义响应式对象。 - **Ref**: 对单个值进行响应式处理。 - **Computed**: 计算属性用于派生数据。 - **Watch**: 监听状态的变化并执行副作用。 ```javascript import { reactive, computed, watch } from &#39;vue&#39;; export default { setup() { const state = reactive({ count: 0 }); const doubleCount = computed(() => state.count * 2); watch( () => state.count, (newVal) => console.log(`count changed to ${newVal}`) ); return { state, doubleCount }; } }; ``` #### 3. 响应式系统的升级 相较于 Vue2,Vue3 的响应式系统更加高效且灵活。通过 Proxy 替代 Object.defineProperty,实现了深层次的对象拦截和支持 Symbol 属性的监听[^1]。 #### 4. 自定义 Hook 函数 为了增强代码复用性和可维护性,Vue3 推荐使用自定义 Hook 来封装通用逻辑。Hook 名称通常以 `use` 开头,并具有清晰的功能描述[^3]。 ```javascript // useCounter.js import { ref, onMounted } from &#39;vue&#39;; export function useCounter(initialValue = 0) { const counter = ref(initialValue); const increment = () => (counter.value += 1); const decrement = () => (counter.value -= 1); onMounted(() => console.log(&#39;Counter initialized&#39;)); return { counter, increment, decrement }; } ``` #### 5. Tree-Shaking 技术解析 Tree-shaking 是一种优化技术,旨在移除未使用的代码片段,从而减小最终打包文件大小。Vue3 设计之初就考虑到了这一需求,通过模块化的架构和静态导入/导出语句的支持,使得 Tree-shaking 成为可能[^2]。 ##### 实战配置建议 - 使用 Webpack 或 Vite 进行深度配置。 - 尽量采用按需加载的方式引入依赖项。 - 利用插件(如 `babel-plugin-component`)实现样式分离。 #### 6. 国际化支持 Vue3 结合 `vue-i18n-next` 插件提供强大的国际化解决方案。借助 Composition API,可以轻松管理多语言环境下的文本翻译[^4]。 ```html <template> <div> <h1>{{ t(&#39;auth.login&#39;) }}</h1> <button @click="showMessage">{{ t(&#39;common.confirm&#39;) }}</button> <!-- 切换语言 --> <select v-model="locale"> <option value="zh-cn">中文</option> <option value="en-us">English</option> </select> </div> </template> <script setup lang="ts"> import { useI18n } from &#39;vue-i18n&#39;; const { t, locale } = useI18n(); function showMessage() { console.log(t(&#39;common.save&#39;)); } </script> ``` --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值