使用vue写个计算器
时间: 2023-07-05 14:09:13 浏览: 145
Vue实现手机计算器
好的,让我们开始吧!
首先,我们需要创建一个 Vue 实例。在 HTML 文件中引入 Vue.js,然后在 JavaScript 文件中创建一个 Vue 实例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue Calculator</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<h1>Vue Calculator</h1>
<input type="text" v-model="result" disabled>
<br>
<button v-for="btn in buttons" v-text="btn.text" @click="handleClick(btn.value)"></button>
</div>
<script src="app.js"></script>
</body>
</html>
```
```javascript
new Vue({
el: '#app',
data: {
result: '0',
buttons: [
{ text: '1', value: '1' },
{ text: '2', value: '2' },
{ text: '3', value: '3' },
{ text: '4', value: '4' },
{ text: '5', value: '5' },
{ text: '6', value: '6' },
{ text: '7', value: '7' },
{ text: '8', value: '8' },
{ text: '9', value: '9' },
{ text: '0', value: '0' },
{ text: '+', value: '+' },
{ text: '-', value: '-' },
{ text: '*', value: '*' },
{ text: '/', value: '/' },
{ text: '=', value: '=' },
{ text: 'C', value: 'C' }
]
},
methods: {
handleClick(value) {
if (value === 'C') {
this.result = '0';
} else if (value === '=') {
this.result = eval(this.result);
} else {
if (this.result === '0') {
this.result = value;
} else {
this.result += value;
}
}
}
}
});
```
在这里,我们创建了一个 Vue 实例,并将其绑定到容器元素 `app` 上。我们还定义了一个 `data` 对象,其中包含一个用于存储计算结果的属性 `result` 和一个包含所有按钮的数组 `buttons`。在 `methods` 区域中,我们定义了一个名为 `handleClick` 的方法,用于处理用户单击按钮时的逻辑。该方法将根据按钮的值执行不同的操作。
在 HTML 文件中,我们使用 `v-bind` 指令将 `result` 属性绑定到计算器显示屏的文本框。我们还使用 `v-for` 指令循环遍历 `buttons` 数组,并为每个按钮动态生成一个 HTML 元素。我们为每个按钮添加一个 `click` 事件监听器,当用户单击按钮时,将调用 `handleClick` 方法并传入按钮的值作为参数。
这就是一个简单的 Vue 计算器的实现。当用户单击按钮时,将在计算器的文本框中显示相应的数字或运算符,并可以按 `=` 计算结果或按 `C` 清除屏幕。
阅读全文