Vue.js 是什么
- Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
- Vue.js(通常简称为Vue)是一款用于构建用户界面的渐进式JavaScript框架。它由尤雨溪(Evan You)于2014年创建并在开源社区中广泛使用和推广。Vue的目标是通过提供简单易用的工具和灵活的架构,使开发人员能够快速构建交互式的Web界面。
以下是Vue的一些主要特点和优势:
- 响应式数据绑定:Vue使用了响应式的数据绑定机制,当数据发生变化时,相关的视图会自动更新。开发人员只需关注数据的状态变化,而无需手动操作DOM。
- 组件化开发:Vue提供了组件化开发的能力,将用户界面划分为独立、可重用的组件,每个组件有自己的逻辑和样式。组件的复用性和可维护性大大提高,同时也促进了团队协作。
- 轻量高效:Vue的核心库非常轻量,压缩后仅约30KB大小。Vue通过优化和精简的设计,提供了出色的性能和快速的加载速度。
- 灵活性:Vue采用了一种渐进式的设计理念,允许开发者根据项目的需求逐步采用Vue的特性。Vue可以与其他库和现有项目无缝集成,也可作为一个简单的页面增强工具使用。
- 丰富的生态系统:Vue拥有庞大而活跃的开源社区,有许多第三方插件、组件库和工具可供选择。这些资源丰富了Vue的功能和扩展性,提供了更多开发选项和便利。
- 易学易用:Vue具有简洁的API和清晰的文档,使得学习和使用Vue变得容易。Vue的语法和模板与HTML和JavaScript紧密结合,降低了学习曲线,使开发者能够快速上手。
启发:
VUE虽然没有完全遵循MVVM模型,但是Vue的设计也受到了它的启发。因此在文档中经常会使用vm(ViewModel 的缩写) 这个变量名表示Vue实例。
MVVM
MVVM是Model-View-ViewModel的简写
M: 模型Model 对应data中的数据V: 视图 ViewVM:视图模型 ViewModel Vue实例对象,它是一个桥梁
- 在
MVVM架构中,是不允许数据和视图直接通信的,只能通过ViewModel来通信,ViewModel能够观察到数据的变化,并对视图对应的内容进行更新,这个特性被称为数据响应式或者叫数据驱动。
简介:
- MVVM是一种软件架构模式,它由三个主要组件组成:模型(Model)、视图(View)和视图模型(ViewModel)。MVVM模式的设计目标是将用户界面(视图)与业务逻辑(模型)之间的关注点分离,同时提供数据绑定机制,使开发者能够更轻松地构建可维护和可测试的应用程序。
下面是MVVM模式中各组件的职责:
- 模型(Model) :模型代表应用程序的数据和业务逻辑。它包含了数据的定义、获取、处理和存储的方法。模型通常是应用程序的后端,可以是数据库、API接口或其他数据源。
- 视图(View) :视图是用户界面的可见部分,它负责展示数据给用户,并接收用户的输入。视图可以是页面、窗口、控件或其他用户界面元素。
- 视图模型(ViewModel) :视图模型是视图和模型之间的中介层。它包含了视图展示所需的数据和业务逻辑,与视图进行双向的数据绑定。视图模型负责从模型获取数据,并将其转化为视图可以理解和展示的形式。它也监听视图上的用户交互,并根据用户的操作更新模型的数据。
- MVVM模式的核心概念是数据绑定,它使得视图和视图模型之间的数据同步变得自动化。当模型的数据发生变化时,视图模型会自动更新视图上展示的数据,反之亦然。这种双向绑定机制减少了开发者手动操作DOM的需求,简化了应用程序的开发和维护。
MVVM模式的优势包括:
- 提供了松耦合的架构,使开发者能够更好地分离关注点。
- 数据绑定机制简化了界面和数据的同步处理。
- 视图模型可以独立于视图进行单元测试。
- 通过视图模型的抽象层,可以更好地支持多个视图对同一模型的复用。
MVVM模式在许多前端框架和库中得到广泛应用,特别是Vue.js和Knockout.js等。它提供了一种可扩展和可维护的方式来开发现代化的用户界面。
vue基础使用步骤
<!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>Document</title>
</head>
<body>
<!-- 1. 准备一个容器 -->
<div id="app">
<p>{{msg}}</p>
</div>
<!-- 2. 引框架 -->
<script src="./vue.js"></script>
<script>
// 3.实例化Vue
const vm = new Vue({
el: "#app", //el就是element元素的意思 它是用来和我们上面准备好的容器产生关系
data: {
//数据
msg: "hello world",
},
});
</script>
</body>
</html>