Подтвердить что ты не робот

Console.log не работает в Angular2 Компонент (Typescript)

Я относительно новичок как для 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.
}

Есть ли что-то, что мне не хватает?

4b9b3361

Ответ 1

Он не работает, потому что console.log() он не находится в "исполняемой области" класса "App".

Класс - это структура, состоящая из атрибутов и методов.

Единственный способ заставить ваш код выполнить его, чтобы поместить его внутри метода, который будет выполнен. Например: constructor()

console.log('It works here')

@Component({..)
export class App {
 s: string = "Hello2";
            
  constructor() {
    console.log(this.s)            
  }            
}

Ответ 2

console.log должен быть завернут в функцию, функция "по умолчанию" для каждого класса - это constructor, поэтому ее следует объявить там.

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

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

}

Ответ 3

Также попробуйте обновить браузер, потому что Angular нужен последний браузер. check: https://angular.io/guide/browser-support

Я исправил проблему console.log после обновления последнего браузера.