gpt4 book ai didi

javascript - Vuejs 表单提交不起作用

转载 作者:行者123 更新时间:2023-11-30 15:32:17 24 4
gpt4 key购买 nike

我想在我的表单中提交值,但每次我按下提交按钮时,我都会收到以下错误:

Uncaught TypeError: login is not a function
at Object.submit [as fn] (eval at Yr (vue.min.js:7), <anonymous>:2:369)
at HTMLFormElement.<anonymous> (vue.min.js:6)

在我的 HTML 代码中,我声明了我的表单:<form v-on:submit.prevent="login">

在 JS 中它看起来像这样:

// register
Vue.component("login-form",
{
template: // THE HTML FORM
,
data: function () {
return data;
},
ready: function () {
this.isAuthenticated = this.checkIfAuthenticated();
this.userName = localStorage.getItem("id_name");
},

methods: {
checkIfAuthenticated: function () {
const users = [
{
id: 1,
name: "tom"
},
{
id: 2,
name: "brian"
},
{
id: 3,
name: "sam"
}
];

this.$set("users", users);
},
login: function () {
const headers = { "Content-Type": "application/x-www-form-urlencoded" };

$.ajax({
url: "/token",
type: "post",
data: `username=${this.login.username}&password=${this.login.password}`,
headers: headers,
success: function (data) {
console.info(data);
},
error: function() {
this.isValid = false;
}
});
}
}
});
// create a root instance
var vue = new Vue({
el: "#loginForm"
});

如您所见,登录功能在我的方法中,所以我不明白为什么 vue 会抛出错误

编辑:包含一个 JSFiddle .提交表单时出现问题(点击登录后)

最佳答案

看起来您的实例有冲突。组件中有一个 login 属性,Vue 实例中有一个 login 方法。尝试使用不同的名称。 Issue at vuejs github :

Both data properties and methods will be set on the instance, so the short answered is: don't use conflicting names :)

关于javascript - Vuejs 表单提交不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42054050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com