如何在 Aurelia 中使用注入 class 的函数?
How to use a function from injected class in Aurelia?
如何在 Aurelia 中使用注入 class 的函数?在我的例子中,我正在调用一个 login() 函数(在登录页面上)并希望从 Test Class 中打印出 testMessage。不幸的是,我在 Chrome 中收到以下错误:"Uncaught TypeError: Cannot read property 'getTestMessage' of undefined".
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();
}
}
你的代码没有问题。我将它复制到一个测试应用程序并且它起作用了。问题很可能出在您没有在问题中透露的部分:您如何调用 login
方法。
<a href="#" click.delegate="login()">Login</a>
在我的测试示例中,view-model 注入测试和后续 HTML 视图使用 click.delegate
调用 login
方法。你是如何调用方法的?
如何在 Aurelia 中使用注入 class 的函数?在我的例子中,我正在调用一个 login() 函数(在登录页面上)并希望从 Test Class 中打印出 testMessage。不幸的是,我在 Chrome 中收到以下错误:"Uncaught TypeError: Cannot read property 'getTestMessage' of undefined".
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();
}
}
你的代码没有问题。我将它复制到一个测试应用程序并且它起作用了。问题很可能出在您没有在问题中透露的部分:您如何调用 login
方法。
<a href="#" click.delegate="login()">Login</a>
在我的测试示例中,view-model 注入测试和后续 HTML 视图使用 click.delegate
调用 login
方法。你是如何调用方法的?