吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1002|回复: 6
收起左侧

[讨论] [Vue]字符串拼接中 button的点击事件不触发

  [复制链接]
dxxbjl 发表于 2021-12-17 16:25
if (this.code < _this.static_passingcode) {
  //分数小于合格分数,需要重新答题
  _this.str3 += "" +
      "<font size='3' >您的分数是:</font>" +
      "<font size='7' class='code'>" + this.code + "</font> <br><br>" +
      "<font size='5'style='color: red' >未通过测试,需要重新答题</font>";
  _this.str3 += "<br><br>"
  _this.str3 += " <button class='button7' @click='reanswer()'>重新答题</button>"

}

//method
reanswer2(){ //重新答题
  this.dis = false
  console.log("**重新答题**")
  this.load();
  this.loadpagenumber(i);
}


字符串 拼接中的 button 其中他的点击事件无法触发,也不报错。大佬们,这个应该怎么改?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| dxxbjl 发表于 2021-12-17 16:45
如果用原生的onclick=“”的话,方法要写在script中,可是挂载在window下的reanswer2() 方法就没法调用 method下的load方法。
 楼主| dxxbjl 发表于 2021-12-17 16:47
本帖最后由 dxxbjl 于 2021-12-17 16:49 编辑

改:
_this.str3 +="<button class='button7'onclick='reanswer()'>重新答题</button>"


挂载在window下的方法

window.reanswer=function (){ //重新答题
  // this.dis = false
  console.log("**重新答题**")
  this.load()
}

method下的  load方法 没有被调用


image.png
 楼主| dxxbjl 发表于 2021-12-17 17:11
我在created()方法中  使reanswer变成了全局方法
window.reanswer = this.reanswer;
这样我在 script中调用
window.qqq=function (){ //重新答题
  reanswer()
}

按钮绑定qqq

这样能执行reanser方法。但是又引发了新的问题,这样 reanswer重加载的load方法展示是乱的



 楼主| dxxbjl 发表于 2021-12-17 17:13
原load



重加在后
image.png
1639732307(1).jpg
萋小磊 发表于 2021-12-17 18:38
你都用Vue了 为啥还要拼接 Dom
unmask 发表于 2021-12-17 20:09
首先你要理解每个方法中的this真实含义,vue中的method中的this其实就是vue组件本身,你的windows.reanswer中的this其实是window,当然没有load方法。
同楼上疑问,已经使用了vue,为啥不是template语法,反而使用vue之前的jquery拼接方式?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表