关于Vue的基础认识

39 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情

动态页面开发的基本模式

1. 什么是动态页面?

  • 页面上的元素可以与用户动态交互,甚至页面通过浏览器可以与远程服务器进行交互。

2. 动态页面开发基本模式

  • 结构页面 -> 赋予数据 -> 交互获取 -> 事件响应 -> 修改数据 -> 渲染页面

  • 作为程序,一旦页面(视图)结构完成,那么视图的再次变化,就由数据的变化来驱动。

  • 可以简单的概括为:数据驱动页面变化,页面收集数据变化

  • 这种模式为:M - V - V - M 即:Model - View - View - Model

3. 数据的改变,具有不确定性,随着交互业务的变更而变更。但是视图的渲染具有特定的规律。

  • 由此,将视图渲染抽取集成,就产生一些具有一定底层视图渲染能力的框架。
  • 比如:VUE、React、AngularJS
  • 本质上它们都提供了一种底层模板封装技术,可以将数据渲染到模板中,并挂到页面上。
  • 框架提供了由数据到页面渲染的基本过程,程序开发者只需将数据与渲染之间做绑定即可。可以让程序员更加关注于业务逻辑的处理。

3-1. 涉及两大核心技术:

1. 模板渲染引擎
2. 数据监听引擎
3. 学习类似框架的核心,要理解基本编程模式
    (1). 要能够识别出影响视图变化的数据
    (2). 要知道变化的数据如何影响视图
    (3). 要能够编写出数据改变的逻辑

4. Vue框架

  • 定义: 是一个非侵入式的,渐进式的 MVVM 框架。应用场景比较多

4-1. Vue基本语法

1. 插入表达式

  • 在HTML模板中的文本节点,使用{{ }} 来引用数据模型,或者计算表达式 + javascript 表达都能在这里使用,但不能有语句。 + 显示的结果就是表达的值
  • 如果插值表达式的计算结果是一个 HTML 元素字符串,那么它将被原样的显示在该元素中。 + 要想按照元素进行添加,只能使用 V-html 指令来执行。

2. 属性绑定

  • 插值表达式在元素的子元素位置,或者说在元素的文本结点位置插入数据,或渲染模板。
  • 属性绑定就是与元素的属性结点相关。可以通过数据模型来改变元素的属性信息。 (1). 要绑定的属性 - V-bind:<html 属性名称> (2). 属性的值 - 表达式或者模型 >+ 属性绑定非常强大,对模板渲染可能会带很多丰富的解决方案。 绑定的值类型不同,则效果也各异,特别是针对不同类型的属性。

3. 数据类型

  • (1) 布尔值
    :disabled :checked :selected
  • (2) 通过定义对象数据模型,对元素的多个属性进行统一绑定

4. 事件绑定

  • 事件绑定本质上是一种特殊的属性绑定。
  • 在 Vue 中所有的事件注册都在元素属性上完成的。
  • 定义时使用 v-on 指定,其参数是事件名称,事件名称就是元素标准事件属性去 on 比如:onClick,绑定时:v-on:click,简写:@click,其值是函数调用表达式

5. 指令

  • 定义: + 以 v- 为前缀的,使用在元素的上 Vue 特定属性。 + 我们把指令所在的元素称为 当前元素

5-1. 插值指令

  • v-html 指令:可以在当前元素的子节点上挂载HTML元素
  • v-text 指令:它与插值表达式的功能一样,在当前元素下显示纯文本

5-2. 绑定指令

  • v-bind 指令:该指令将表达式或模型绑定到一个 HTML 元素的属性上。
  • v-bind 的参数:即 ":" 后的文本,就是要绑定的属性名称。
  • v-bind:id 其中 id 就是v-bind 的指令。
  • v-bind:class
  • v-bind:width
  • v-bind:disabled
  • 上述的 v-bind 指令使用都是要将动态数据绑定到属性上。

5-3. v-on指令:用于绑定元素的事件属性。其参数是事件名称,其值是表达式(包括函数的调用)

5-4. 结构指令

  • v-if指令:条件结构。如果v-if的值为true,则当前元素显示,否则,不显示。
  • 如果指令的表达式是动态计算的结果,则可以用于切换元素的显示状态。类似于 display:none

5-5. 循环迭代

  • v-for指令:迭代结构。令当前元素可以 重复绘制。