自己设计一个示例html页面,使用Vue相关知识,如:条件渲染、列表渲染、事件处理、数据、计算属性等
时间: 2025-01-05 09:39:33 浏览: 4
好的,我将为你创建一个简单的HTML页面,并结合Vue.js的基本功能,包括条件渲染、列表渲染、事件处理和数据管理。
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue 示例</title>
<script src="https://cdn.jsdelivr.net/npm/vue@3"></script>
</head>
<body>
<div id="app">
<!-- 数据绑定 -->
<p>{{ message }}</p>
<!-- 条件渲染 -->
<div v-if="showMessage">
Message is visible when condition is true.
</div>
<div v-else>
Message is hidden.
</div>
<!-- 列表渲染 -->
<ul>
<li v-for="(item, index) in items" :key="index">
{{ item.name }} - {{ item.age }}
</li>
</ul>
<!-- 计算属性 -->
<p>Sum of ages: {{ totalAge }}</p>
<!-- 事件处理 -->
<button @click="incrementCounter">Increment Counter</button>
<p>Counter: {{ counter }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'Hello from Vue!',
showMessage: false,
items: [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 }
],
counter: 0,
totalAge: 0
},
computed: {
// 计算属性总年龄
totalAge: function() {
return this.items.reduce((sum, item) => sum + item.age, 0);
}
},
methods: {
incrementCounter: function() {
this.counter++;
}
}
});
</script>
</body>
</html>
```
在这个例子中:
- `<p>`标签内的内容是通过`message`数据属性动态渲染的。
- `v-if`指令用于条件渲染,`showMessage`变量改变时会切换显示状态。
- 列表渲染使用了`v-for`指令遍历数组`items`。
- `totalAge`是一个计算属性,依赖于`items`数组的元素年龄。
- `incrementCounter`方法绑定了按钮点击事件,每次点击会增加`counter`的值。
阅读全文