我正在尝试button v-on:click
在 Vue Native 中工作,但它没有按预期更新变量。这是一个基本项目的 App.vue 文件中的代码:
<template>
<view class="container">
<button v-on:click="count += 1" title="Add 1" />
<text>{{ counter }}</text>
</view>
</template>
<script>
export default {
data: function() {
return {
counter: 0
};
}
};
</script>
<style>
.container {
flex: 1;
align-items: center;
justify-content: center;
}
的值counter
始终显示为 0,即使在多次单击“添加 1”按钮后也是如此。为什么不能button v-on:click
在 Vue Native 中工作?
编辑#1:
正如@Suoakira 指出的按钮代码不正确,因此它已更新如下:
<button v-on:click="counter++" title="Add 1" />
但是,counter
即使单击“添加 1”按钮,值仍然始终显示 0。为什么这在 Vue Native 中不起作用?
编辑#2:
我仍然没有找到在标签v-on:click
中使用 Vue Native 工作的方法。button
但是,以下替代方法有效。它比原始帖子进一步发展。:on-press
它演示了使用in 的两种不同方法touchable-opacity
。如果有人知道如何在 Vue Native 中编写等效的 usingv-on:click
和button
标签,我肯定希望看到该解决方案。同时 -
<template>
<view class="container">
<touchable-opacity class="button" :on-press="() => counter++">
<text class="button-text">Add 1</text>
</touchable-opacity>
<touchable-opacity class="button" :on-press="addTwo">
<text class="button-text">Add 2</text>
</touchable-opacity>
<touchable-opacity class="button" :on-press="resetCounter">
<text class="button-text">Reset</text>
</touchable-opacity>
<text>{{ counter }}</text>
</view>
</template>
<script>
export default {
data: function() {
return {
counter: 0
}
},
methods: {
addTwo: function() {
this.counter += 2;
},
resetCounter: function() {
this.counter = 0;
}
}
};
</script>
<style>
.container {
align-items: center;
padding-bottom: 30px;
}
.button {
width: 100px;
height: 35px;
background-color: #FFCE00;
justify-content: center;
align-items: center;
margin-bottom: 5px;
}
.button-text {
font-size: 18px;
font-weight: 700;
}
</style>