Skip to content

Vue

文本插值

{{message}}

视为纯文本插值,即便message绑定的文本包含html标签,也不会作为样式进行渲染。

内部允许填入简单js表达式,但不能解析js语句。

v-text

标签插值,改变整个标签内的内容,如果绑定的文本中包含标签,则会以对应的样式进行渲染。

v-once

标签插值,但仅在初次加载时替换值。

v-html

标签插值,并将内部的文本视为链接。

如果在v-html标签中嵌入用户输入的js代码(由script标签对包含的内容),则浏览器会默认执行。为了避免用户进行非法操作,应该尽可能使用纯文本插值而不是链接插值。

过滤器 filter

Vue对象的选项之一,内部是不同的函数,用于在文本中进行简单的处理。

指令

写在html标签内、以v-前缀的属性,其值期望是单个js表达式(v-for除外),责任是当值改变时,将其响应式地作用到DOM树。

v-show

用于显示或隐藏特定的html元素,相对来说有更高的初始渲染开销,通过v-show隐藏的标签在dom树里仍然存在。

v-if

和V-show作用相同,相对来说有更高的切换开销,隐藏的标签在dom树里不存在。

v-else和v-else-if

与v-if一起使用。

v-on

用于监听dom事件,需要在指令和接事件名。

<button v-on:click="js表达式或函数调用"></button>
</button>

函数可以写在初始化vue对象时的methods选项里。

1
2
3
4
5
6
7
8
var vue =new Vue(){
    el:"#app",
    methods:{
        方法名:function(参数){
            //方法体
        }
    }
}

v-pre

v-model

用于在表单<input>、<textarea>及<select》元素上创建双向数据绑定,自动更新元素。它会对极端场景进行特殊处理。

全局注册

组件

自定义组件名称使用多个单词,避免和html元素冲突。

创建后需要先注册才能被识别。

  • 全局注册:使用Vue.component(),注册完成后可在多个实例中使用
  • 局部注册:在根实例的属性注册

组件之间的数据传递

props

从父组件的属性传入数据,由子组件的props接收。