我想在Angular应用程序中使用JavaScript代码。我尝试过:
export class MerchantNewComponent extends FormBaseComponent {
constructor(private merchantService: MerchantService,
private router: Router) {
super();
}
function randomString() {
var length = 40;
var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
return result;
}
}
但是我得到这个错误:
有人知道我如何在Angular应用程序中使用此JavaScript代码吗?
答案 0 :(得分:3)
使用TypeScript语法在类中声明一个方法:
export class MerchantNewComponent extends FormBaseComponent {
getRandomStr(): string {
// ...
}
}
randomString
上面所做的事情变成getRandomStr
一样-这澄清了该函数的确切作用)有关更多信息,请查看TypeScript handbook on classes
编辑:要指定应传递给方法的参数,请参见下文:
getRandomStr(randomLength: number): string {
// Do something w/ the randomLength variable
console.log(randomLength);
// ...
}
答案 1 :(得分:1)
应为public randomString
而不是function randomString
function
可以在类外部使用,如果在内部使用,则它是类的方法,而不再是函数。
如果在组件内部使用它,则可以使用模板中的this.randomString()
或randomString()
进行调用
您还可以使用吸气剂public get randomString() {...}
,然后在使用它时,只需将其命名为this.randomString