首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数randomString():string

函数randomString():string
EN

Stack Overflow用户
提问于 2019-02-18 13:51:03
回答 2查看 47关注 0票数 0

我想在一个角度应用程序中使用JavaScript代码。我试过这个:

代码语言: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;
  }
}

但我知道这个错误:

有人知道我如何在一个角度应用程序中使用这个JavaScript代码吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-18 14:04:36

使用TypeScript语法在类中声明方法:

代码语言:javascript
复制
export class MerchantNewComponent extends FormBaseComponent {

  getRandomStr(): string {
    // ...
  }
}

备注

  1. 建议在函数声明旁边添加函数的返回类型。
  2. 考虑将函数重命名为更具描述性,并表示它返回一个值。(就像我在上面所做的那样,randomString变成了getRandomStr --这说明了函数到底是做什么的)

有关更多信息,请访问TypeScript课堂手册

编辑:若要指定应传递给方法的参数,请参见下面:

代码语言:javascript
复制
getRandomStr(randomLength: number): string {
  // Do something w/ the randomLength variable
  console.log(randomLength);
  // ...
}
票数 3
EN

Stack Overflow用户

发布于 2019-02-18 13:54:48

应该是public randomString而不是function randomString

function可以在类之外使用,如果它在类内,那么它是类的方法,不再是函数了。

如果在组件中使用它,则可以在模板中使用this.randomString()randomString()来调用它。

您也可以使用getter public get randomString() {...},然后当您使用它时,只需将其称为this.randomString

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54748797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档