vuejs表单不从手机提交,但在浏览器中工作

sulc1iza  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(397)

我以前见过这样的问题,但我没有找到合适的答案。
我有一个vuejs应用程序,其中提交功能可以在浏览器(chrome、firefox等)上正常工作,但不能在手机上提交(使用safari测试)。
组件中的提交方法如下所示:

methods: {
     async removeBet(item) {
      this.bet.id = item
      try {
        await this.$http.post("/user/deletePendingBet", this.bet);
      } catch (err) {
        console.log(err)
      }
    },
    }

我这样调用该方法:

<a class="dropdown-item" @click="removeBet(value._id)" href="/newBet">Delete</a>

我假设不需要db查询,因为这与方法的调用方式有关。
我在移动开发方面没有丰富的经验,所以我的问题是safari是否只接受以某种方式提交的表单?在这种情况下,使用js框架(如vue)提交表单的正确方式是什么?

3hvapo4f

3hvapo4f1#

首先,您使用的是锚定标记,这不是一个好的实践。
因为您没有阻止浏览器调用您的 @click ,因此它不会调用 @click ,因为浏览器将保持其默认行为,并调用 href .
我建议把它改成 <div><span> ,但这可能是使用的一个要求 <a> ,所以要解决这个问题,首先要删除 href 然后使用 @click.prevent="remove..." 让它工作。它将阻止的默认行为 <a> 我会打电话的 @click .
通知 .prevent 之后 @click . 你可以在这里读更多。

相关问题