console.log在Angular2组件中不工作(Typescript)
我对Angular2和typescript都比较陌生。由于typescript是javascript的超集,我希望像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
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类型。