我正在使用Meteor和TypeScript开发Web应用程序,同时使用Nitrous.io环境。
我正在尝试实施用户帐户系统。我正在调整我在旧项目中使用的JavaScript代码(它有效),但我仍然遇到错误。这来自 login.ts 文件:
// retrieve the input field values
var email = template.$('[name=email]').val();
var password = template.$('[name=password]').val();
var errors = {};
if (! email) {
errors.email = 'Please enter your email address'; // ERROR HERE
}
if (! password) {
errors.password = 'Please enter your password'; // ERROR HERE
}
我收到的错误消息是:
/client/login.ts(41,20): error TS2094: The property 'email' does not exist on value of type '{}'.
/client/login.ts(45,20): error TS2094: The property 'password' does not exist on value of type '{}'.
有什么想法吗?谢谢。 :)
答案 0 :(得分:1)
将errors对象更改为此。
var errors = {
email:"",
password:""
};
你也可以抛出错误对象(每个浏览器支持这2个属性)
或自定义错误。
if (! email) {
throw new Error('Please enter your email address') // ERROR HERE
}
if (! password) {
throw new Error('Please enter your password') // ERROR HERE
}
如果您对投掷错误感兴趣,请检查this article