computed

计算属性是一个函数/带setter和getter的对象,利用组合其它数据的方式返回一个新的数据,你可以像绑定普通数据一样在模板中绑定计算属性。

类型:{ [key: string]: Function | { get: Function, set: Function } } 适用于【页面 | 组件】

示例:

  1. <template>
  2. <view>
  3. <text>Original message: "{{ message }}"</text>
  4. <text>Computed reversed message: "{{ reversedMessage }}"</text>
  5. </view>
  6. </template>
  7. <script>
  8. import {createComponent} from '@mpxjs/core'
  9. createComponent({
  10. data: {
  11. message: 'Hello',
  12. num: 5
  13. },
  14. computed: {
  15. // 计算属性
  16. reversedMessage: function () {
  17. return this.message.split('').reverse().join('')
  18. },
  19. // 读取和设置
  20. computeNum: {
  21. get: function () {
  22. return this.num - 1
  23. },
  24. set: function (val) {
  25. this.num = val + 1
  26. }
  27. }
  28. },
  29. ready() {
  30. // 改变message后reversedMessage会同步更新,模板也会重新渲染
  31. this.message = 'Hello world!'
  32. this.computeNum // 4
  33. this.computeNum = 10
  34. this.num // 11
  35. }
  36. })
  37. </script>