45 lines
1.3 KiB
HTML
45 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Document</title>
|
|
<!-- 1. 导入vue.js的脚本文件 -->
|
|
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="app">
|
|
<button @click="increment">增加</button>
|
|
<p>{{count}}</p>
|
|
<p>{{state.counter}}</p>
|
|
</div>
|
|
</body>
|
|
<script>
|
|
|
|
// 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
|
|
const { createApp, reactive, ref } = Vue; // 解构赋值语法
|
|
// ref 适用于基本类型(字符串、数字、布尔值)
|
|
// reactive 适用于对象、数组等复合类型
|
|
// 创建一个 Vue 的应用程序
|
|
createApp({
|
|
// 组合式API 的 setup 用于设置响应式数据和方法
|
|
setup() {
|
|
const count = ref(0);
|
|
const state = reactive({ counter: 0 });
|
|
// 箭头函数
|
|
const increment = () => {
|
|
count.value++;
|
|
state.counter++;
|
|
}
|
|
|
|
// 返回数据
|
|
return {
|
|
count, increment, state
|
|
}
|
|
}
|
|
}).mount('#app') // 将 Vue 应用程序挂载到app元素上
|
|
</script>
|
|
|
|
</html> |