我找到了这篇由Minko编写的JavaScript中的自调用函数,它教我们如何编写一个JavaScript函数,该函数在初始化后立即调用自己。我想知道我们怎样才能在打字稿中做到这一点。我发现,如果在export class ComponentName**,内部编写代码,将无法工作。我试过的代码:**
import {Component, Input} from '@angular/core'
@Component({...})
export class MyComponent{
@Input() infoes;
(function(){
console.log('testing');
})();
}IDE显示的错误是unexpected token. a constructor, accessor, method or property was expected。我认为这与TypeScript引入的类概念有关。
发布于 2016-12-16 12:14:19
您所拥有的是一个生命(立即调用函数表达式)。TypeScript确实允许IIFE,但只允许在一般允许表达式的地方使用。TypeScript不允许孤立的表达式坐在那里。这也是不允许的:
class Foo {
1+1;
};但是,这使用IIFE来初始化字段,允许这样做:
class Foo {
foo: string = (function bar(){
console.log("testing");
return "value";
}());
};
new Foo();如果运行,您将在控制台上看到testing。
要处理这些注释,您也不能这样做:
class Foo {
function bar(){
console.log('testing');
);
}以上是类中的一个函数。这与类中的一个方法不同:
class Foo {
bar(){
console.log('testing');
);
}https://stackoverflow.com/questions/41153135
复制相似问题