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.
}
Есть ли что-то, что мне не хватает?
Ответы
Ответ 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 после обновления последнего браузера.