Vue 3.0采用的Composition API与Vue 2.x使用的Options API在编写Vue组件时有一些区别。
区别:
组织代码的方式不同:
数据和方法的访问方式不同:
this关键字访问数据和方法。作用:
使用:
1.
- <template>
- <div>
- <p>{{ message }}p>
- <button @click="changeMessage">Change Messagebutton>
- div>
- template>
-
- <script>
- export default {
- data() {
- return {
- message: 'Hello Vue'
- };
- },
- methods: {
- changeMessage() {
- this.message = 'New Message';
- }
- }
- };
- script>
2.Composition API 示例:
- <template>
- <div>
- <p>{{ message }}p>
- <button @click="changeMessage">Change Messagebutton>
- div>
- template>
-
- <script>
- import { reactive } from 'vue';
-
- export default {
- setup() {
- const state = reactive({
- message: 'Hello Vue'
- });
-
- const changeMessage = () => {
- state.message = 'New Message';
- };
-
- return {
- ...state,
- changeMessage
- };
- }
- };
- script>
在Composition API示例中,使用reactive函数将数据变为响应式,并利用setup()函数组织逻辑代码。通过返回一个包含数据和方法的对象,让它们可以在模板中被访问。
通过Composition API,我们可以将相关的代码逻辑进行封装并复用,使得代码更加清晰、可维护性更强。此外,Composition API还提供了其他一些函数,如computed、watch等,用于处理计算属性和监听数据变化等操作。