Javascript Vue如何解决未捕获的语法错误:函数语句需要函数名
我正在尝试创建一个简单的web应用程序,通过电报进行身份验证。Telegram有自己的带有回调的小部件,它可以在登录后返回用户数据。问题出在脚本属性“dataonauth”中,在这里,您传递了成功验证后要执行的回调 (-小部件文档,如果需要) 要在您想要的位置找到“登录”按钮,您只需粘贴Telegram的widget generator提供的脚本,但由于我无法在组件模板中粘贴脚本标记(vue不会编译它,只返回错误),所以我选择创建脚本元素添加所需的属性并将其附加到mounted()中 这是我的组件代码Javascript Vue如何解决未捕获的语法错误:函数语句需要函数名,javascript,node.js,vue.js,vue-component,Javascript,Node.js,Vue.js,Vue Component,我正在尝试创建一个简单的web应用程序,通过电报进行身份验证。Telegram有自己的带有回调的小部件,它可以在登录后返回用户数据。问题出在脚本属性“dataonauth”中,在这里,您传递了成功验证后要执行的回调 (-小部件文档,如果需要) 要在您想要的位置找到“登录”按钮,您只需粘贴Telegram的widget generator提供的脚本,但由于我无法在组件模板中粘贴脚本标记(vue不会编译它,只返回错误),所以我选择创建脚本元素添加所需的属性并将其附加到mounted()中 这是我的组
<template>
<header>
<div class="auth" id="telegramAuth">
</div>
</header>
</template>
<script>
export default {
name: "Header",
data: () => ({}),
mounted() {
let telegramAuth = document.createElement("script");
telegramAuth.setAttribute("async", "");
telegramAuth.setAttribute(
"src",
"https://telegram.org/js/telegram-widget.js?7"
);
telegramAuth.setAttribute("data-userpic", "false");
telegramAuth.setAttribute("data-telegram-login", "t_adv_bot");
telegramAuth.setAttribute("data-size", "large");
telegramAuth.setAttribute("data-onauth", this.loginWithTelegram);
telegramAuth.setAttribute("data-request-access", "write");
document.querySelector("#telegramAuth").appendChild(telegramAuth);
},
methods: {
loginWithTelegram: function onTelegramAuth(user) {
console.log(user);
}
}
};
</script>
导出默认值{
名称:“标题”,
数据:()=>({}),
安装的(){
让TelegrameAuth=document.createElement(“脚本”);
TelegrameAuth.setAttribute(“异步”和“”);
电报auth.setAttribute(
“src”,
"https://telegram.org/js/telegram-widget.js?7"
);
telegramAuth.setAttribute(“数据用户pic”、“false”);
telegramAuth.setAttribute(“数据电报登录”、“t_adv_bot”);
telegramAuth.setAttribute(“数据大小”、“大”);
telegramAuth.setAttribute(“数据onauth”,this.loginWithTelegrame);
telegramAuth.setAttribute(“数据请求访问”、“写入”);
文件查询选择器(“电报授权”).appendChild(电报授权);
},
方法:{
使用电报登录:函数onTelegramAuth(用户){
console.log(用户);
}
}
};
但当我尝试这样做时,我得到了未捕获的SyntaxError:函数语句需要函数名。
我不知道怎么解决它。提前感谢并为我糟糕的英语感到抱歉您的
auth上的数据
将具有字符串值函数onTelegramAuth(用户){console.log(用户);}
。。。文档中的示例是onTelegramAuth(user)
-您可以看到差异非常显著感谢您的帮助,我发现问题出在不必要的“函数”中,但我完全按照上面所写的那样做,它对我不起作用。错误是一样的。我想我可以通过将函数保存为字符串来解决这个问题,但是你有没有其他的方法来解决这个问题呢。使用.toString()将函数解析为字符串也不是一个好主意,因为这是我在函数(){[native code]}之后得到的结果,它或者没有函数名。
methods: {
loginWithTelegram(user) {
console.log(user);
}
}