对比两个示例代码,很容易看出写法的改变:Vue 3 中的计算属性的写法变为使用 computed 函数,直接接受一个函数作为参数,函数内部可以访问响应式引用的值,并返回计算的结果。
一、Vue2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| var vm = new Vue({ el: '#example', data: { message: 'Hello' }, computed: { reversedMessage: function () { return this.message.split('').reverse().join('') } } })
<template> <div id="example"> <p>Original message: "{{ message }}"</p> <p>Computed reversed message: "{{ reversedMessage }}"</p> </div> </template>
|
二、Vue3
1 2 3 4 5 6 7 8 9 10 11 12
| <script setup> import { computed, ref } from 'vue' var message = ref('Hello') const reversedMessage = computed(() => { return message.value.split('').reverse().join('') }) </script>
<template> <p>Original message: "{{ message }}"</p> <p>Computed reversed message: "{{ reversedMessage }}"</p> </template>
|