如何从函数更改数据值?
How con i change data value from a function?
我想在每次点击时更改计数变量。如果我在 on:clik 事件中放入“count++”,它就会起作用。但是,当我想使用一个函数时,它什么也没做。
我还尝试将组件和“新视图”放在同一文件 js 中,但不起作用并显示空白页,为什么?谢谢
Prova.js
Vue.component('prova', {
data: function () {
return {
count: 0
}
},
template: '<div><button v-on:click="Add">You clicked me {{ count }} times.</button></div>',
methods:{
Add: function(){
prova.count++;
}
}
});
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>prova component</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script type="text/javascript" src="Prova.js"></script>
</head>
<body>
<section id="prova">
<prova ></prova>
<script>
new Vue({
el: "#prova",
})
</script>
</section>
</body>
</html>
其实我不知道你的第二个component
是用来做什么的,但是你可以这样解决你的问题:
模板中
<template>
<div>
<button @click="addCount()"></button>
<div>You have clicked the button {{count}} times.</div>
</div>
</template>
• @click 与 v-on:click 相同
• 你应该这样写:addCount()
在脚本中:
export default {
data() {
return {
count: 0,
}
},
methods: {
addCount() {
this.count += 1;
}
}
}
• 在您的数据中定义 count
• 使用方法并在按钮上的每个 click
上将当前值加 1
这应该可以解决您的问题。如果这对您有用,请给我一个简短的反馈!
用于小测试:您也可以从count
中减去。只需创建第二个 button
并在您使用 this.count -= 1
的地方创建另一个点击事件。每次单击它都会减去 1。
我想在每次点击时更改计数变量。如果我在 on:clik 事件中放入“count++”,它就会起作用。但是,当我想使用一个函数时,它什么也没做。 我还尝试将组件和“新视图”放在同一文件 js 中,但不起作用并显示空白页,为什么?谢谢
Prova.js
Vue.component('prova', {
data: function () {
return {
count: 0
}
},
template: '<div><button v-on:click="Add">You clicked me {{ count }} times.</button></div>',
methods:{
Add: function(){
prova.count++;
}
}
});
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>prova component</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script type="text/javascript" src="Prova.js"></script>
</head>
<body>
<section id="prova">
<prova ></prova>
<script>
new Vue({
el: "#prova",
})
</script>
</section>
</body>
</html>
其实我不知道你的第二个component
是用来做什么的,但是你可以这样解决你的问题:
模板中
<template>
<div>
<button @click="addCount()"></button>
<div>You have clicked the button {{count}} times.</div>
</div>
</template>
• @click 与 v-on:click 相同
• 你应该这样写:addCount()
在脚本中:
export default {
data() {
return {
count: 0,
}
},
methods: {
addCount() {
this.count += 1;
}
}
}
• 在您的数据中定义 count
• 使用方法并在按钮上的每个 click
上将当前值加 1
这应该可以解决您的问题。如果这对您有用,请给我一个简短的反馈!
用于小测试:您也可以从count
中减去。只需创建第二个 button
并在您使用 this.count -= 1
的地方创建另一个点击事件。每次单击它都会减去 1。