【发布时间】:2015-08-11 20:02:02
【问题描述】:
我有两个相同的指令(除了命名),编译器在另一个指令中创建了一个变量 _this 就好了,但在另一个指令中没有。它可能会有所不同,哪个好,哪个不好。 它们都有这样的链接功能:
link = (scope: IMyScope, element, attrs) => {
scope.setVariable1 = () => {
this.service.setVariable1(scope.variable1);
}
还有一个问题是编译后的版本尝试使用 this.service(undefined) 而不是 _this.service。
【问题讨论】:
-
您使用哪个版本的打字稿?
-
您在编译后的文件中看到
this.service还是只是您的猜测?只有当目标是ES6时,TypeScript 才会在箭头函数中保留this。 -
TypeScript 1.4(昨天才更新到 1.5)。我看到服务的编译版本和 ES6 是目标。
-
我通过使用控制器而不是链接函数解决了这个问题。这不是我想要的,但我花了太多时间试图让链接功能发挥作用。
标签: typescript