流星& TypeScript - 错误:属性'确认'在' {}'类型的值上不存在

时间:2015-02-16 22:12:13

标签: meteor typescript nitrousio meteor-accounts typescript1.4

我正在使用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 '{}'.

有什么想法吗?谢谢。 :)

1 个答案:

答案 0 :(得分:1)

将errors对象更改为此。

var errors = {
   email:"",
   password:""
};

你也可以抛出错误对象(每个浏览器支持这2个属性)

  1. name - 错误的名称
  2. message - 错误说明
  3. 或自定义错误。

    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