谈谈对vue的理解

Vue官方:Vue是一个渐进式的JavaScript框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型。它有两个核心功能:数据驱动、组件化 

渐进式

渐进式的含义是:主张最少,没有多做职责之外的事;每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。(来自知乎)

我的理解:给了开发者尽可能多的使用选择。

        它即提供个模板,用于快速开发,又开放的底层的渲染函数,用于复杂的场景。它的每个组件相互是独立的,使得模板和函数式可以共存在一个项目之中。

        它的模块都是相互独立的,我们可以只使用框架中的某一个模块,甚至我们也可以对某些模块进行扩充,已达到自己的需求。

声明式

从范式来看,视图层的框架一般分为两种:命令式和声明式。

        命令式的框架的代表是:Jquery。它的一个特点是:关注过程。

// 代码本身描述的是“做事的过程”。
// 获取div,这是文本内容,绑定点击事件。
$("#app").text("hello world").on("click", () => console.log("点击了"))

        声明式框架的代表是:Vue(模板)。它的特点是:关注结果。

// 这是一个要实现的html模板,至于如何实现结果,我们不关心
hello world
// 由此可见,vue内部实现一定是命令式的,他帮助我们封装过程,我们来提供结果。

数据驱动

响应式:一般指的获取数据时收集依赖,在设置数据时触发依赖。

数据驱动视图,当我们修改数据后,视图也会随之响应更新。在这个过程中,为了更好的性能,vue引入了vnode。又因为vnode是以 JavaScript 对象为基础而不依赖真实平台环境,所以使vue具有了跨平台的能力,比如说浏览器平台、Weex、Node 等。

双向数据绑定:一般指v-model指令的实现。

它提供了MVVM风格的双向数据绑定。它让开发者省去了操作dom的过程,只需要改变数据即可。vue会通过指令对dom做一层封装,当数据发生变化时去通知指令修改对应的dom,数据驱动dom的变化,dom是数据的一种自然映射。

组件化

组件是一个可复用的vue实例。它可以增强代码的复用性、可维护性和可测试性。

组件的本质是产生一个vnode,它可以降低更新范围,只重渲染发生变化的组件。

你可能感兴趣的:(Vue,vue.js,javascript,前端)