代码之家  ›  专栏  ›  技术社区  ›  TKDev

为什么从@component的decorator-angular 4+[duplicate]日志记录时没有定义

  •  -1
  • TKDev  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我在寻找在组件中有条件地加载样式的方法。 在我做这些的时候,我试着做了如下的事情:

    @Component({
        selector:console.log('test',this)||'login-with-password', //logs: undefined
        templateUrl:'./login-with-password.html',
        styleUrls:['./login-with-password.css'],
        preserveWhitespaces:false
    })
    

    令我惊讶的是,这被记录为未定义。 我在想这怎么可能,因为这个关键字应该总是指向某物,以太窗口或空。

    decorator在什么上下文中运行它的上下文是未定义的?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Avinash    6 年前

    @组成部分 是一个装饰器,它只保存组件元数据,将角度类定义为组件。

    window对象是browsers窗口对象,在@component()中的console.log()中尝试记录窗口,它将记录窗口对象。

    没有必要 “这个” 关键字应该总是指向某个东西。 在 严格模式 如果 '未设置,将未定义。 关键字将只保留对对象的引用。它包含调用函数的对象的值。

    恩戈尼特() 是在加载组件时第一次调用的方法,您可以console.log(this)并找到调用的对象的所有数据。 恩戈尼特() 方法。

    推荐文章