Javascript 对几个html标记id使用相同的方法,使其与发生@click的id协调
你好,开发者。在这个应用程序中,我试图建立投票。因此,在我的逻辑中,我确实用几个按钮和它们各自的ID在HTML中构建了一个标记,其中用户Javascript 对几个html标记id使用相同的方法,使其与发生@click的id协调,javascript,vue.js,vuejs2,vue-component,v-for,Javascript,Vue.js,Vuejs2,Vue Component,V For,你好,开发者。在这个应用程序中,我试图建立投票。因此,在我的逻辑中,我确实用几个按钮和它们各自的ID在HTML中构建了一个标记,其中用户@click可能被分配给不同的轮询对象 所有标记都被单击绑定到相同的方法,因此我只是尝试增加标记id,以便重用相同的函数(其名称为scorer())。 假设这是我的标签: HTML 该函数应修改用户单击的对象。基本上,我只是试图通过一个布尔值将对象内的轮询值与单击的id(doc.getElementById,猜它错了)进行比较;然后,如果此状态为真,则项目tim
@click
可能被分配给不同的轮询对象
所有标记都被单击绑定到相同的方法,因此我只是尝试增加标记id,以便重用相同的函数(其名称为scorer()
)。
假设这是我的标签:
HTML
该函数应修改用户单击的对象。基本上,我只是试图通过一个布尔值将对象内的轮询值与单击的id(doc.getElementById
,猜它错了)进行比较;然后,如果此状态为真,则项目timesvated
将被更新加上1…但我猜这不是正确的设置方式,因为它不起作用:
METHODS:{
scorer() {
this.pollComposer.forEach(iter => {
if(iter.poll===document.getElementById(iter.poll))
return iter.timesVoted=timesVoted+1;
}
);
},
}
我不知道如何在不为每个按钮创建新方法的情况下改进此功能。提前感谢!!!祝你有美好的一天 试着这样做:
HTML
{{vote.pts}}pts
方法
记分员(投票){
this.pollView=false;
投票.投票++;
}
Hola dan谢谢你的时间。上面说我的投票没有定义在你的公式中我还添加了一个索引(投票,索引)来迭代Objective中的所有投票。这真的很好,而且非常简单,但是你无法解释为什么我没有定义。我不客气。看起来您的数据中有输入错误#2,它有一个小写的“v”:timesvated
。这是一个你可以比较的非常感谢丹…惊人的解决方案和最简单的!!!!。。。祝您今天过得愉快!!!
data(){
return{
pollComposer: [
{ poll: "5pts", timesVoted: 0.0, pts: 5.0 },
{ poll: "4pts", timesVoted: 0.0, pts: 4.0 },
{ poll: "3pts", timesVoted: 0.0, pts: 3.0 },
{ poll: "2pts", timesvoted: 0.0, pts: 2.0 },
{ poll: "1pts", timesVoted: 0.0, pts: 1.0 }
],
}
}
METHODS:{
scorer() {
this.pollComposer.forEach(iter => {
if(iter.poll===document.getElementById(iter.poll))
return iter.timesVoted=timesVoted+1;
}
);
},
}