gpt4 book ai didi

typescript - Angular2 - OnInit 未定义

转载 作者:太空狗 更新时间:2023-10-29 17:04:51 25 4
gpt4 key购买 nike

我正在尝试实现 angular 2 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();
}

}

最佳答案

使用单个 导入而不是两个导入语句。如果您使用的是 rc(候选发布版)

,请在 @angular/core 之前使用 @
import { Component, OnInit, ViewEncapsulation } from '@angular/core';

您应该在组件类实现 OnInit 类时实现 ngOnInit 方法

ngOnInit() {
this.checkOverflow();
}

此外,不要像您当前在 typescript 文件中使用的那样使用 function,请将其转换为 checkOverflow(){ ... } 格式,然后调用它像 this.checkOverflow()

关于typescript - Angular2 - OnInit 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com