“this” undefined in side link function in Angular directive built with TypeScript

后端 未结 2 1407
Happy的楠姐
Happy的楠姐 2021-01-19 07:04

I\'m a relative newbie to both TypeScript and Angular so I\'m probably doing something very basic wrong here.

I\'m trying to create an abstract base class from which

2条回答
  •  南方客
    南方客 (楼主)
    2021-01-19 07:23

    In Angular directives it is unsafe to consider this a class instance because functions can have their own lexical this, and they actually have it.

    this is controller instance in controller (which may or may not be exposed on scope with 'controller as' syntax).

    this is DDO object in compile (so this is contextual here).

    this is undefined in linking functions (in strict mode).

    Use arrow functions if you're unsure about lexical this or want to override it:

    link = (...) => { ... };
    

提交回复
热议问题