老司机读书笔记——Vue学习笔记

Vue学习笔记

这篇文章你将看到以下内容:

  • 一个iOS开发视角学习Vue需要学习的一些知识点

Vue实例结构

var vm = new Vue({
  //样式表名
  el: '#example',
  //属性
  data: {
    message: 'Hello'
  },
  //计算属性
  computed: {
    fullName: {
        // getter
        get: function () {
            return this.firstName + ' ' + this.lastName
        },
        // setter
        set: function (newValue) {
            var names = newValue.split(' ')
            this.firstName = names[0]
            this.lastName = names[names.length - 1]
        }
    }
  },
  //属性观察
  watch: {
    // 如果 `question` 发生改变,这个函数就会运行
    question: function (newQuestion, oldQuestion) {
      this.answer = 'Waiting for you to stop typing...'
      this.getAnswer()
    }
  },
  //实例函数
  methods: {
    reversedMessage: function () {
        return this.message.split('').reverse().join('')
    }
  }
})

Vue监听实例

Ask a yes/no question:

{{ answer }}


Vue实例生命周期

beforeCreate->created->beforeMount->mounted->beforeUpdate->updated->beforeDestroy->destryed


v-bind

绑定标签字段与Vue对应关系


...


...

v-on

绑定事件与Vue对应关系


...


...

Vue组件

Vue.component('my-component', {
  template: '

Hi

' })

Class绑定

普通

数组

HTML:
JS: data: { activeClass: 'active', errorClass: 'text-danger' }

条件


Style绑定

HTML:
JS: data: { styleObject: { color: 'red', fontSize: '13px' } }

v-if



关于是否显示,v-show同样可以达到相同效果,不同的是

v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display。

注意,v-show 不支持