2016-05-16 2 views
9

Я пытаюсь реализовать функцию угловой 2 OnInit, но я получаю следующее сообщение об ошибке в консоли:Angular2 - OnInit не определен

Error: ReferenceError: OnInit is not defined(...)

Может кто-нибудь указать на то, что я делаю не так?

Это мой компонент:

import { Component, OnInit } from 'angular2/core'; 
import { ViewEncapsulation } from 'angular2/core'; 

@Component({ 
    selector: 'Landing', 
    templateUrl: '/app/views/landing.html', 
    styleUrls: ['../app/styles/landing.css'], 
    encapsulation: ViewEncapsulation.None 
}) 

export class LandingComponent implements OnInit { 

    function checkOverflow() { 
     var element = document.querySelector('.appContainer'); 
     if((element.offsetHeight < element.scrollHeight) || (element.offsetWidth < element.scrollWidth)){ 
      // your element have overflow 
      console.log('OVERFLOW!'); 
     } 
     else{ 
      console.log('NO OVERFLOW'); 
     } 
    } 

    OnInit() { 
     checkOverflow(); 
    } 

} 

ответ

13

Использование single импорта вместо двух импорта заявления. Также используйте @ перед тем @angular/core, если вы используете rc (релиз-кандидат) версия

import { Component, OnInit, ViewEncapsulation } from '@angular/core'; 

Вы должны реализовать ngOnInit метод, как вы компонент класса implements OnInit класс

ngOnInit() { 
    this.checkOverflow(); 
} 

Кроме того, не используйте function так, как вы в настоящее время используются в машинописном файле, преобразовывают его в checkOverflow(){ ... } формат &, тогда назовите его как this.checkOverflow()

Смежные вопросы