Vue3魔法手册 作者 张天禹 02

3,Vue3核心语法

1, App.vue 根组件

复制代码
<template>
	<!--html 结构-->
</template>
<script>
	// JS 或 TS
</script>

<style>
	<!--样式-->
</style>

2, main.ts

复制代码
// 引入 createApp 用于创建应用
import {createApp} from 'vue'
// 引入 App根组件
import App from './App.vue'
// 调用createApp()方法创建应用并放在id为app的容器里面
createApp(App).mount('#app')
一个简单的效果代码如下
复制代码
1, src/components/Person.vue
<template>
    <div class="person">
        <h2>姓名:{{ name }}</h2>
        <h2>年龄:{{ age }}</h2>
        <h2>爱好:{{ hobby }}</h2>
        <h2>地址:{{ address }}</h2>
        <button @click="changeName">修改名字</button>
        <button @click="changeAge">修改年龄</button>
        <button @click="showTel">查看联系方式</button>
    </div>
</template>

<script lang="ts">
    export default {
        name: "Person",
        data() {
            return {
                name: "张三",
                age: 18,
                hobby: "篮球",
                address: "北京市朝阳区",
                tel: "18017927192"
            }
        },
        methods: {
            changeName() {
                this.name = "zhang-san"
            },
            changeAge() {
                this.age += 1;
            },
            showTel() {
                alert(this.tel);
            }
        }
    }
</script>

<style scoped>
    .person {
        background-color: skyblue;
        box-shadow: 0 0 10px;
        border-radius: 10px;
        padding: 20px;
    }
    button {
        margin: 0 5px;
    }
</style>





2, src/main.ts
// 引入 createApp 用于创建应用
import {createApp} from 'vue'
// 引入 App根组件
import App from './App.vue'
// 调用createApp()方法创建应用并放在id为app的容器里面
createApp(App).mount('#app')





3, src/App.vue
<script lang="ts">
  import Preson from './components/Preson.vue';
  export default{
    // 组件名称
    name: 'App',
    // 注册组件
    components: {
      Preson,
    }
  }
</script>

<template>
  <div class="app">
    <h1>您好啊!</h1>
    <!-- 使用组件: -->
    <Preson></Preson>
  </div>
</template>

<style scoped>
  .app {
    background-color: #ddd;
    box-shadow: 0 0 10px;
    border-radius: 10px;
    padding: 20px;
  }
</style>







4, index.html
<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vite App</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

一个简单的效果图如下

点击查看联系方式

Options API 与 Components API

vue2每增加一个功能,都要去相应的选项添加
绿色功能的函数包含着:数据,方法,计算属性,监视,包含了很多很多的东西,此时他就集中了,以后要修改绿色功能,你只需要找到该函数就可以修改了,不用在满世界去寻找 data,methods,computed等

以上是vue2与vue3的比较示意图,这样可以更直观的理解他们的思路和代码逻辑,纯属个人观点,仅供参考。

相关推荐
李蚊子4 分钟前
从代理提醒到真实响铃:懒熊闹钟的鸿蒙开发实践
前端·harmonyos
IT_陈寒11 分钟前
Redis的Lua脚本居然把我的集群搞崩了!
前端·人工智能·后端
计算机魔术师16 分钟前
索尼与华纳起诉Anthropic,指控其大规模盗用版权音乐训练Claude
前端
恋猫de小郭21 分钟前
AI 时代,一个优化 Flutter 的重复代码工具 Deslop
android·前端·flutter
穗余21 分钟前
Typescript let和var区别
前端·javascript·typescript
晓得迷路了26 分钟前
栗子前端技术周刊第 144 期 - Rspack 2.2、pnpm 12、Solid 2.0 RC...
前端·javascript·css
YHHLAI31 分钟前
前端路由与浏览器历史:从多页应用到单页应用的演进
前端
Escalating_xu39 分钟前
【C++类和对象(上)】从类的定义、封装与对象模型到内存对齐和 this 指针
开发语言·前端·c++
Json____41 分钟前
宿舍安全卫生检查系统:Node 全栈开发实战
java·前端·数据库·毕业设计·课程设计·毕设·wwwoop.com