在事件中访问当前控制器实例(`this`)

时间:2016-09-15 13:23:15

标签: angularjs typescript

我们正在TypeScript使用angularjs 1.5。我们需要触发一个事件来从父组件加载数据。我们面临的问题是,当事件被触发时,this指的是window对象而不是它所在的控制器。如何在事件中获取当前实例?

因为它是TypeScript,所以只能通过this访问任何方法或属性。我需要控制器实例,因为在我需要访问的构造函数中完成的初始化很少。

示例实施

namespace doc.common {
     @Component({
          selector: name
     })
     export class myComponent {
            @bind.oneWay()
            public id:number;

            public service:myService;
            /*ngInject*/
            constructor(private serviceRef:myService){
                 this.service = serviceRef;
            }

            public $onChange():void {
                  //*this* is referred to window object, not controller instance
            }
     }
}

用法

<my-component id='id'></my-component>

0 个答案:

没有答案