[Vue2] 从初学到放弃 Day7-怎麽变化里面的值

先用官网里面的范例

<div id="example">
  <p>Original message: "{{ message }}"</p>
  <p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>
var vm = new Vue({
  el: '#example',
  data: {
    message: 'Hello'
  },
  computed: {
    // a computed getter
    reversedMessage: function () {
      // `this` points to the vm instance
      return this.message.split('').reverse().join('')
    }
  }
})

这个范例,可以说到 Day5 这个生命周期。

  • 建立Vue的Instance,建立LifeCycle && events
  • injections && reactivity
  • 'el'是一个判断格式,他是第一个被判断的物件?(不知道能不能这样称呼他)
    • 如果没有,就会去判断是否有呼叫公用API $
    • 是否有template(这两个是一定会判断)
      目前理解到这边....我们继续往下走

Computed Caching vs Methods

  • 如何调用function
<p>Reversed message: "{{ reverseMessage() }}"</p>
// in component
methods: {
  reverseMessage: function () {
    return this.message.split('').reverse().join('')
  }
}

computed 这两种方式其实都可以,但在

computed: {
  now: function () {
    return Date.now()
  }
}

这两个范例,method都会重新渲染,但为什麽要使用computed caching,有时会有大量运算的array。如果不使用,getter将会超过预定次数。

Computed vs Watched Property

<div id="demo">{{ fullName }}</div>
var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar',
    fullName: 'Foo Bar'
  },
  watch: {
    firstName: function (val) {
      this.fullName = val + ' ' + this.lastName
    },
    lastName: function (val) {
      this.fullName = this.firstName + ' ' + val
    }
  }
})

这边有重复的function,可以把它拆到computed里面

var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar'
  },
  computed: {
    fullName: function () {
      return this.firstName + ' ' + this.lastName
    }
  }
})

Computed Setter

另外一个是如何做Computed的设定?
如果不特别设定都会是 getter-only

// ...
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]
    }
  }
}
// ...

watcher

不知道该写什麽以後再补


<<:  CIELab转RGB在网页上呈现的小研究

>>:  有关Wscript.exe *.vbs 的中文字编码( utf-8)问题

Day23-JDK可视化监控工具:jconsole(三)

前言 这篇还是要继续来介绍jconsole,Thread的页签介绍 Step.1 首先准备一个Jco...

Day01-认识环境

前言 很感谢各位进来观看本人的铁人赛,会想写关於JavaScript主题主要是学习了一段时间,透过参...

[Day29] AWS Wavelength (5G)

什麽是 Wavelength? Wavelength 将 5G 网路的高频宽和超低延迟与 AWS 运...

DAY 28『 使用相机拍照 』 ImagePicker - Part2

继昨天的实作练习,有相机,会执行以下的程序码: 令 vc 为 UIImagePickerContro...

Day25. Blue Prism让你远离挑灯夜战的日子 –BP自动登打订单

昨天加班加的凶, 到现在为止都还在挑灯夜战, 不过,在不景气的日子人就要想着变通, 才会有机会的到来...