01. 5 分钟,Vue3 开发快速上手

简介: 01. 5 分钟,Vue3 开发快速上手

哎……万万没想到,我居然学会了使用 Vue.js,还用它开发了好几个项目。

Vue.js 是一套用于构建用户界面的渐进式框架,最喜欢它的一点是,它是面向数据开发的,习惯后端开发的人,瞬间就能喜欢上了。

反正还有好多优点,比如 Vue 的作者「尤雨溪」是个中国帅哥,中国靓仔的开源项目现在成长为颇受欢迎的国际化社区。

Vue.js 不适合 0 基础的小白,如果你也想使用它的话,那你赶紧先去学学 HTML、CSS、JavaScript 的知识,否则只能是「鸭同鸡讲,眼碌碌」。

快速体验 —— 如何将数据呈现至页面?

需要两个东西:

  1. 开发工具 —— Visual Studio Code
  2. HTML 文件 —— index.html

先去 Visual Studio Code 官网(https://code.visualstudio.com),下载一个开发工具,就想你要喝水了,总需要有个杯子(工具)一样。

然后,我们再创建一个 index.html 文件,并用 VSCode 打开。

我们现在想要使用 Vue.js,那就需要「安装」它,有 4 种方式可以实现,具体如下:

  1. 在页面上以 CDN 包的形式导入(等下我们先用这种方式,既简单又快);
  2. 下载 JavaScript 文件并自行托管;
  3. 使用 nmp 方式;
  4. 使用官方的 CLI 脚手架来构建一个项目,啥都有了。

我们来看,如何以 CDN 包的形式导入?其实,非常的简单:

  • <script src="https://unpkg.com/vue@next"></script>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello Vue</title>
    <!-- 其实,就一句即实现引入 Vue.js -->
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
</body>
</html>

怎么用呢?那就有讲究了,有两种方式:

  1. 运行时 + 编译器
  1. 如果你想在客户端编译模板,则需要编译器;
  2. 可以将你的数据传递给 template 选项
  3. 也可以使用元素的 DOM 内 HTML 作为模板挂载到元素
  1. 仅运行时(后面再讲)
  1. 当使用 vue-loader 时,*.vue 文件中的模板会在构建时预编译为 JavaScript,在最终的捆绑包中并不需要编译器,因此可以只使用运行时构建版本。

案例 1

先来看「运行时 + 编译器」的方式,这也是 Vue.js 的核心,它是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统,详细构建步骤如下:

  1. 创建一个 Vue 的实例;
  • 使用 Vue.createApp()即可创建一个 Vue 实例
  1. 提供一个 template 模版,放点儿数据;
  • 使用 template:''即可配置模版
  1. 挂载 Vue 实例到对应位置;
  • 使用 .mount('#xxx')即可挂载 Vue 实例
  1. 最后,展示数据
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello Vue</title>
    <!-- 其实,就一句即实现引入 Vue.js -->
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <!-- 第四步,展示数据 -->
    <div id="root"></div>
</body>
<script>
    // 第一步,创建一个 Vue 的实例
    Vue.createApp({
        // 第二步,提供一个 template 模版,放点儿数据
        template:'<div>I Love You</div>'
    }).mount('#root'); // 第三步,挂载 Vue 实例到 id 为 root 的位置
</script>
</html>

代码中,我们通过使用 Vue.createApp() 的方式,创建了一个 Vue 实例。接着,我们在实例里面,通过使用 template 选项为它提供了一个字符串“I Love You”,作为展示到页面的数据。

怎样才能在页面中展示数据呢?我们使用 mount(“#id”) 来挂在数据到对应的位置上,所以,数据被挂载到 body 中 id 为 root 的 div 标签上。

案例 2

另外,我们还可以把数据提出来,专门放在 data 选项中去返回,在 template 中通过变量来获取数据,详细步骤如下:

  1. 创建一个 Vue 的实例;
  • 使用 Vue.createApp()即可创建一个 Vue 实例
  1. 提供一个 data 选项,返回数据;
  • data(){return xxx}
  1. 提供一个 template 模版;
  • 使用 template:''即可配置模版
  1. 挂载 Vue 实例到对应位置;
  • 使用 .mount('#xxx')即可挂载 Vue 实例
  1. 最后,展示数据
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello Vue</title>
    <!-- 其实,就一句即实现引入 Vue.js -->
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <!-- 第五步,展示数据 -->
    <div id="root"></div>
</body>
<script>
    // 第一步,创建一个 Vue 的实例
    Vue.createApp({
        // 第二步,提供一个 data 选项,返回数据
        data() {
            return {
                content: 'I Love You'
            }
        },
        // 第三步,通过表达式获取变量的数据,放到模板中
        template:'<div>{{ content }}</div>'
    }).mount('#root'); // 第四步,挂载 Vue 实例到 id 为 root 的位置
</script>
</html>

通过两种方式给大家演示了一个 Vue 应用,非常的简单。你看,咱们现在的数据和 DOM 已经被建立了关联,所有东西都是响应式的

案例 3

比如说,我们可以实现一个「定时器」来验证一下,此时需要用到一个 mounted() 函数,当你页面加载完成后,会被调用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello Vue</title>
    <!-- 其实,就一句即实现引入 Vue.js -->
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <!-- 第六步,展示数据 -->
    <div id="root"></div>
</body>
<script>
    // 第一步,创建一个 Vue 的实例
    Vue.createApp({
        // 第二步,提供一个 data 选项,返回数据
        data() {
            return {
                content: 0
            }
        },
        // 第三步,页面加载完成后,会调用 mounted() 函数
        // 并执行定时器
        mounted() {
            setInterval( () => {
                this.content++
            }, 1000)
        },
        // 第四步,通过表达式获取变量的数据,放到模板中
        template:'<div>{{ content }}</div>'
    }).mount('#root'); // 第五步,挂载 Vue 实例到 id 为 root 的位置
</script>
</html>

先聊这么多,我们后面会围绕以下三大块去分享:

  1. Vue.js 的知识体系
  1. 基础语法
  2. 组件
  3. 动画
  4. Composition API
  5. Vue 生态全家桶
  6. ……
  1. 企业级工程化开发标准和流程
  1. 企业级开发标准
  2. 工程化开发流程
  3. ……
  1. 系统设计模式和思考框架
  1. 数据驱动
  2. MVVM 设计模式
  3. ……

如果今天的分享,也能帮到你,点个赞,再关注一下呗,继续努力!

目录
相关文章
|
2月前
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
154 64
|
2月前
|
JavaScript 前端开发 API
Vue 3 中 v-model 与 Vue 2 中 v-model 的区别是什么?
总的来说,Vue 3 中的 `v-model` 在灵活性、与组合式 API 的结合、对自定义组件的支持等方面都有了明显的提升和改进,使其更适应现代前端开发的需求和趋势。但需要注意的是,在迁移过程中可能需要对一些代码进行调整和适配。
124 60
|
18天前
|
JavaScript API 数据处理
vue3使用pinia中的actions,需要调用接口的话
通过上述步骤,您可以在Vue 3中使用Pinia和actions来管理状态并调用API接口。Pinia的简洁设计使得状态管理和异步操作更加直观和易于维护。无论是安装配置、创建Store还是在组件中使用Store,都能轻松实现高效的状态管理和数据处理。
67 3
|
2月前
|
前端开发 JavaScript 测试技术
Vue3中v-model在处理自定义组件双向数据绑定时,如何避免循环引用?
Web 组件化是一种有效的开发方法,可以提高项目的质量、效率和可维护性。在实际项目中,要结合项目的具体情况,合理应用 Web 组件化的理念和技术,实现项目的成功实施和交付。通过不断地探索和实践,将 Web 组件化的优势充分发挥出来,为前端开发领域的发展做出贡献。
45 8
|
2月前
|
存储 JavaScript 数据管理
除了provide/inject,Vue3中还有哪些方式可以避免v-model的循环引用?
需要注意的是,在实际开发中,应根据具体的项目需求和组件结构来选择合适的方式来避免`v-model`的循环引用。同时,要综合考虑代码的可读性、可维护性和性能等因素,以确保系统的稳定和高效运行。
41 1
|
2月前
|
JavaScript
Vue3中使用provide/inject来避免v-model的循环引用
`provide`和`inject`是 Vue 3 中非常有用的特性,在处理一些复杂的组件间通信问题时,可以提供一种灵活的解决方案。通过合理使用它们,可以帮助我们更好地避免`v-model`的循环引用问题,提高代码的质量和可维护性。
49 1
|
2月前
|
JavaScript
在 Vue 3 中,如何使用 v-model 来处理自定义组件的双向数据绑定?
需要注意的是,在实际开发中,根据具体的业务需求和组件设计,可能需要对上述步骤进行适当的调整和优化,以确保双向数据绑定的正确性和稳定性。同时,深入理解 Vue 3 的响应式机制和组件通信原理,将有助于更好地运用 `v-model` 实现自定义组件的双向数据绑定。
|
2月前
|
存储 JavaScript 前端开发
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
【10月更文挑战第21天】 vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
|
2月前
|
JavaScript 索引
Vue 3.x 版本中双向数据绑定的底层实现有哪些变化
从Vue 2.x的`Object.defineProperty`到Vue 3.x的`Proxy`,实现了更高效的数据劫持与响应式处理。`Proxy`不仅能够代理整个对象,动态响应属性的增删,还优化了嵌套对象的处理和依赖追踪,减少了不必要的视图更新,提升了性能。同时,Vue 3.x对数组的响应式处理也更加灵活,简化了开发流程。
|
2月前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发