console.log在Angular2组件中不工作(Typescript)

console.log在Angular2组件中不工作(Typescript),typescript,angular,Typescript,Angular,我对Angular2和typescript都比较陌生。由于typescript是javascript的超集,我希望像console.log这样的函数能够工作console.log在组件类之外的.ts文件中工作得很好,但在组件类内部工作得并不理想 // main.ts import { Component } from '@angular/core'; console.log("Hello1"); //1. This works perfectly @Component({..) export

我对Angular2和typescript都比较陌生。由于typescript是javascript的超集,我希望像
console.log
这样的函数能够工作
console.log
在组件类之外的
.ts
文件中工作得很好,但在组件类内部工作得并不理想

// main.ts

import { Component } from '@angular/core';
console.log("Hello1"); //1. This works perfectly

@Component({..)
export class App {
 s: string = "Hello2";
 // console.log(s); //2. This gives compilation error (when uncommented)
 // Error: Function implementation is missing or not immediately following the declaration.
}

有什么我遗漏的吗?

它不工作,因为console.log()不在类“App”的“可执行区域”中

类是由属性和方法组成的结构

执行代码的唯一方法是将其放入将要执行的方法中。例如:constructor()

console.log('It work here')
@组件({..)
导出类应用程序{
s:string=“Hello2”;
构造函数(){
console.log(this.s)
}            

}
控制台.log应该包装在一个函数中,每个类的“默认”函数都是它的
构造函数
,因此应该在那里声明它

import { Component } from '@angular/core';
console.log("Hello1");

 @Component({
  selector: 'hello-console',
})
    export class App {
     s: string = "Hello2";
    constructor(){
     console.log(s); 
    }

}

同时尝试更新您的浏览器,因为您需要最新的浏览器。 检查:


更新最新浏览器后,我修复了console.log问题。

您在@Component中放置了什么?您可以尝试在类中放置一个构造函数,如下所示:constructor(){console.log('test')}我认为它不起作用,因为console.log没有包装在函数中。你能显示JS编译的表单吗?@L.querter:console.log在构造函数内部使用时起作用,但在构造函数外部使用时不起作用,即使存在构造函数。也许有必要将其包装在函数中。我不知道这一点。在初始化也是一个表达式,我不明白为什么它在构造函数的作用域之外工作,而函数调用却不行。试试我上面提到的typescript playgroung,你会看到每个变量定义都被传输到javascript函数体。这是一个非常明显的现象,我开始疯狂地试图解决这个问题-谢谢在您给出的javascript示例中,s:string,console.log不应该返回至少一些值仍然没有意义。它至少应该在浏览器中说s是string类型。