vue基础知识

  1. new Vue() 创建 Vue 实例,其中 Vue.components() 也可以创建 Vue 实例。

  2. Vue生命周期函数:vue 实例在某一时间点自动执行的函数。 生命周期图示

  3. vue模板语法:

  • {{}} 表示的插值表达式
  • v-text 表示的文本(标签不会被解析)插值
  • v-html 表示的html文件(可解析标签)插值

这插值表达式和其他的模板指令在“=”后内容都表示js表达式,所以都可以跟简单的js表达式,如:

{{name + ' word'}}
  1. 计算属性、方法与侦听器
    其中计算属性(computed)和侦听器(watch)都存在一个缓存机制(即与之相关的属性不发生变化时,会复用先前值),但是相同情况下计算属性的代码较侦听器更为简洁。
  
{{fullName}} {{year}}


如图所示:当修改与计算属性 fullName 无关的属性 year 时,计算属性并没有执行,而是进行复用,当修改与之相关的属性时,便会执行一次。这就是计算属性(computed)就缓存机制,侦听器(watch)同理。
注意:计算属性直接通过名字(键值)就可以调用,方法必须是调用才可以。
4.1 计算属性的getter和setter

    fullName: {
          get: function(){
            return this.firstName + " " + this.lastName
          },
          set: function(value){
            var arr = value.split(" ")
            this.firstName = arr[0]
            this.lastName = arr[1]
          }
        }

其中:当取计算属性的值( {{fullName}} )时,get 方法被执行。当设置计算属性的值时,set 方法被执行。
当在控制台执行 vm.fullName = "Bye bye" 时,这时 set 方法被执行,更改了 firstNamelastName 的值,此时计算属性发现get方法中使用到的属性被改变,执行 set 方法,此时页面中显示的是“Bye bye”。

  1. Vue中的样式绑定
    5.1 class的对象语法(使用对象的形式)
    动态绑定 class ,其中 :class="{activated: isActivated}" :activated 表示类名,该类型是否绑定在该标签中取决于 isActivated 的值(Boolean值)。
   
{{message}}

5.2 class的数组语法(使用数组的形式)
其中 :class="[activated]" 数组中绑定的是变量,即 data 中属性的值。

  
{{message}}

v-bind:style 使用需要添加浏览器引擎前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。

  1. 条件渲染
    v-ifv-show 都可以控制页面中元素是否显示。区别: v-if 直接控制 dom 元素是和否在页面中(dom销毁和重建), v-show 是给 dom 元素添加 display 属性(基于css切换)。其中如果 dom 元素频繁的显示和隐藏,使用 v-show 性能更好。
    注意,v-show 不支持