vue.js v-on:提交(@submit)在iPhone/iPad上不起作用



我在vue.js应用中有几个表单,我构建了所有这些都使用@submit事件处理程序。这在Windows和我的Android设备上可以正常工作,但是它在iPhone/iPad上破裂(它不起作用(。代码看起来像这样:

    <form class="form-inline my-2 my-lg-0" @submit="submit">
        <input class="form-control mr-sm-2" v-model.trim="email" type="email" name="email" placeholder="E-mail" aria-label="E-mail">
        <input class="form-control mr-sm-2" v-model.trim="password" type="password" name="password" placeholder="Password" aria-label="Password">
        <button class="btn btn-outline-success my-2 my-sm-0">Login</button>
    </form>

submit方法看起来像这样:

submit () {
      event.preventDefault()
      Api().post('/login', {
          'email' : this.email,
          'password' : this.password
      }).then((res) => {
        if (res.data.success === 'yes') {
          this.$router.push('/profile')
        }
      })
      .catch((err) => {
        console.log(err)
      })
    }

我不确定是@submit侦听器是否与iOS不起作用,或者是否是event.preventdefault((引起了问题... ??

根据https://developer.mozilla.org/en-us/docs/web/javascript/reference/reference/functions/functions/method_definitions#browser_comcompatibility ht ios Safari中没有支持。

{
    methods: {
        submit(){
            // this is not supported in ios safari
        }
    }
}

您可以设置Babel来编译JavaScript。另外,这也应该对您有用。

{
    methods: {
        submit: function () {
            // this is supported
        }
    }
}

最新更新