如果说是JQuery是手工作坊,那么Vue.js就像是一座工厂,虽然Vue.js做的任何事情JQuery都可以做,但无论是代码量还是流程规范性都是前者较优。
Vue.js 是一种流行的 JavaScript 框架,用于构建用户界面。在 Vue.js 中,你可以使用组件来构建应用程序,这些组件可以重复使用,并且可以自定义。
Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, [5]是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,并且几乎不需要手动优化,并且Vue完全有能力处理大规模的应用
Vue.js是一套构建用户界面的渐进式框架,采用自底向上增量开发的设计,核心库只关注视图层。另一方面,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue是一个框架,也是一个生态。可以用不同的方式使用Vue:
无需构建步骤,渐进式增强静态的HTML;
在任何页面中作为Web Components嵌入;
单页应用 (SPA);
全栈/服务端渲染 (SSR);
Jamstack/静态站点生成 (SSG);
- 响应式数据:Vue.js 有一个独特的响应式系统,这意味着当数据发生变化时,视图会自动更新。你可以使用
v-model
指令将数据绑定到输入字段,并在数据变化时自动更新视图。 - 组件系统:Vue.js 有一个强大的组件系统,你可以创建可重用的组件,并在应用程序中重复使用它们。组件可以接收参数,并返回模板、样式和脚本。
- 指令:Vue.js 指令是特殊的 HTML 属性,用于添加交互性和动态内容。例如,
v-if
指令用于条件渲染,v-for
指令用于循环渲染列表。 - 模板语法:Vue.js 的模板语法非常直观和易读。你可以使用双大括号语法
{{}}
来绑定数据,使用v-bind
指令来绑定属性,使用v-on
指令来绑定事件。 - 生命周期钩子:Vue.js 提供了许多生命周期钩子函数,你可以在这些函数中执行初始化和销毁的任务。例如,
created
钩子函数在实例创建后立即调用,mounted
钩子函数在实例挂载到 DOM 后调用。 - 路由:Vue.js 可以与路由库(如 Vue Router)结合使用,以构建单页面应用程序(SPA)。路由允许你根据不同的 URL 路径显示不同的内容,而无需重新加载整个页面。
- 状态管理:Vue.js 可以与状态管理库(如 Vuex)结合使用,以管理应用程序的状态。Vuex 可以帮助你组织和管理应用程序的数据和逻辑,使其更加可维护和可测试。
-
ViewModel是Vue.js的核心,它是一个Vue实例。Vue实例是作用于某一个HTML元素上的,这个元素可以是HTML的body元素,也可以是指定了id的某个元素。
当创建了ViewModel后,双向绑定是如何达成的呢?
首先,我们将上图中的DOM Listeners和Data Bindings看作两个工具,它们是实现双向绑定的关键。
从View侧看,ViewModel中的DOM Listeners工具会帮我们监测页面上DOM元素的变化,如果有变化,则更改Model中的数据;
从Model侧看,当我们更新Model中的数据时,Data Bindings工具会帮我们更新页面中的DOM元素。