热门关键字:
jquery > jquery教程 > jquery教程 > vue简介、入门、模板语法

vue简介、入门、模板语法

371
作者:管理员
发布时间:2021/3/16 14:44:27
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4228
  Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。


  Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。


  结果:


  已经成功创建了第一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被建立了关联,所有东西都是响应式的。我们要怎么确认呢?打开浏览器的 JavaScript 控制台 (就在这个页面打开),并修改  的值,可以相应地更新。


  除了文本插值,我们还可以像这样来绑定元素特性:


  结果:


  这里我们遇到了一点新东西。你看到的  特性被称为指令。指令带有前缀 ,以表示它们是 Vue 提供的特殊特性。可能你已经猜到了,它们会在渲染的 DOM 上应用特殊的响应式行为。在这里,该指令的意思是:“将这个元素节点的  特性和 Vue 实例的  属性保持一致”。


  每个 Vue 应用都需要通过实例化 Vue 来实现。当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,html 视图将也会产生相应的变化。


  语法格式如下:


  实例如下:


  结果:


  vue构造器解释:


  (1)可以看到在 Vue 构造器中有一个el 参数,它是 DOM 元素中的 id。在上面实例中 id 为 vue_det,在 div 元素中:


  这意味着我们接下来的改动全部在以上指定的 div 内,div 外部不受影响。


  (2)定义数据对象


  data 用于定义属性,实例中有三个属性分别为:site、url、alexa。


  (3)除了数据属性,Vue 实例还提供了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来。


  结果:


  补充:vue中挂载点,模板,实例之间的关系


  vuex渲染的元素称为挂载点,元素之间的内容称为模板,模板也可以写在实例的template属性中。vue实例只会对挂载点内部的模板生效。


  Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。


  Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统。


  结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上。


  1.插入文本


  数据绑定最常见的形式就是使用 {{…}}(双大括号)的文本插值。


  结果:


  补充: v-once 指令渲染一次性值


  通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。但请留心这会影响到该节点上的其它数据绑定:


  2.使用 v-html 指令用于输出 html 代码:


  双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用  指令:


  结果:


  3. 属性


  HTML 属性中的值应使用 v-bind 指令。


  以下实例判断 class1 的值,如果use为 true 使用 class1 类的样式,否则不使用该类:


  结果:


  4.表达式


  vue提供了完全的javascript表达式支持。


  结果:


  指令是带有 v- 前缀的特殊属性。指令用于在表达式的值改变时,将某些行为应用到DOM上。


  这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。


  结果:


  修改app.seen=true


  1. 参数


  参数在指令以后以冒号指明。


  例如:v-bind 指令被用来响应地更新 HTML 属性; v-on 指令用于监听 DOM 事件


  结果:


  2.修饰符


  修饰符是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,。prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault():


  preventDefault() 方法阻止元素发生默认的行为。


  按钮的事件我们可以使用 v-on 监听事件,并对用户的输入进行响应。


  结果:


  Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示,过滤器函数接受表达式的值作为第一个参数。过滤器可以串联:


  过滤器是 JavaScript 函数,因此可以接受参数:


  这里,message 是第一个参数,字符串 'arg1' 将传给过滤器作为第二个参数, arg2 表达式的值将被求值然后传给过滤器作为第三个参数。


  例如: message作为 filterA函数的参数;filterA函数的返回值作为filterB的第一个参数。


  结果:


  v-bind 缩写:


  v-on 缩写:


  例如:


  官网给出的生命周期图如下:


  解释:


  beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。


  created:在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。


  beforeMount:在挂载开始之前被调用:相关的 render 函数首次被调用。


  mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。


  beforeUpdate:数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。


  updated:由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。


  beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。


  例如:


  结果:(可以看到执行顺序)




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐