vue基础知识


vue教程
vue官网
我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用

methods 用于定义的函数,可以通过 return 来返回函数值。

{{ }} 用于输出对象属性和函数返回值。

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

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

======插值=======

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

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

======属性=========

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

Vue.js 都提供了完全的 JavaScript 表达式支持。

========指令============
指令是带有 v- 前缀的特殊属性。

指令用于在表达式的值改变时,将某些行为应用到 DOM 上

v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
可以用 v-else 指令给 v-if 添加一个 "else" 块:
v-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用
也可以使用 v-show 指令来根据条件展示元素:


Sorry

Not sorry

A

B

C

Not A/B/C

v-bind 指令被用来响应地更新 HTML 属性
class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。
Vue.js v-bind 在处理 class 和 style 时, 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组
可以为 v-bind:class 设置一个对象,从而动态的切换 class:

也可以在对象中传入更多属性用来动态切换多个 class 。

v-bind:class="{ active: isActive, 'text-danger': hasError }">

也可以直接绑定数据里的一个对象:





Vue 测试实例 - 菜鸟教程(runoob.com)




也可以在这里绑定返回对象的计算属性
可以把一个数组传给 v-bind:class

还可以使用三元表达式来切换列表中的 class :

可以在 v-bind:style 直接设置样式:

菜鸟教程

也可以直接绑定到一个样式对象




Vue 测试实例 - 菜鸟教程(runoob.com)


菜鸟教程



v-bind:style 可以使用数组将多个样式对象应用到一个元素上:




Vue 测试实例 - 菜鸟教程(runoob.com)


菜鸟教程



v-bind 缩写

v-on 指令,它用于监听 DOM 事件
v-on 缩写

v-model 指令来实现双向数据绑定:v-model 指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。

ue.js 允许你自定义过滤器,被用作一些常见的文本格式化

{{ message | capitalize }}

过滤器函数接受表达式的值作为第一个参数。

{{ message | capitalize }}

循环使用 v-for 指令。

v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。

v-for 可以绑定数据到数组来渲染一个列表

v-for 可以通过一个对象的属性来迭代数据:

  1. {{ site.name }}

你也可以提供第二个的参数为键名:

  • {{ key }} : {{ value }}

第三个参数为索引:

  • {{ index }}. {{ key }} : {{ value }}

v-for 迭代整数

  • {{ n }}

计算属性关键词: computed。

计算属性在处理一些复杂逻辑时是很有用的
我们可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。

原始字符串: {{ message }}

计算后反转字符串: {{ reversedMessage }}

Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化





Vue 测试实例 - 菜鸟教程(runoob.com)


千米 :
米 :



组件(Component)是 Vue.js 最强大的功能之一。

组件可以扩展 HTML 元素,封装可重用的代码。

组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:
注册一个全局组件语法格式如下:

Vue.component(tagName, options)

tagName 为组件名,options 为配置选项。注册后,我们可以使用以下方式来调用组件:

全局组件




Vue 测试实例 - 菜鸟教程(runoob.com)




局部组件

Prop

prop 是子组件用来接受父组件传递过来的数据的一个自定义属性。

父组件的数据需要通过 props 把数据传给子组件,子组件需要显式地用 props 选项声明 "prop":




Vue 测试实例 - 菜鸟教程(runoob.com)




动态 Prop

类似于用 v-bind 绑定 HTML 特性到一个表达式,也可以用 v-bind 动态绑定 props 的值到父组件的数据中。每当父组件的数据变化时,该变化也会传导给子组件: