如何在Aurelia中使用注入类的函数?

时间:2018-03-18 19:57:18

标签: aurelia

如何在Aurelia中使用注入类的函数?在我的情况下,我调用了login()函数(在登录页面上)并希望从Test Class中打印testMessage。不幸的是,我在Chrome中遇到以下错误:"未捕获的TypeError:无法读取属性' getTestMessage'未定义"。

test.js

export class Test {
    constructor() {
        this.testMessage = "test";
    }

    getTestMessage() {
        return this.testMessage;
    }
}

login.js

import {inject} from 'aurelia-framework';
import {Test} from 'test';

@inject(Test)
export class LogIn { 
  constructor(test) {
    this.test = test;
  }

  login(){
    console.log("login");
    this.test.getTestMessage();
  }
}

1 个答案:

答案 0 :(得分:0)

您的代码没有任何问题。我将它复制到测试应用程序,它工作。问题很可能在于您在问题中没有透露的部分:您如何调用login方法。

<a href="#" click.delegate="login()">Login</a>

在我的测试示例中,视图模型注入测试和后续HTML视图使用login调用click.delegate方法。你怎么称呼这个方法?