gpt4 book ai didi

javascript - AngularJS:当AngularJS Controller 是类的成员函数时, 'this'是什么?

转载 作者:行者123 更新时间:2023-12-03 08:54:13 25 4
gpt4 key购买 nike

我使用类的成员函数作为 AngularJS Controller :注意:下面的代码是从一些 TypeScript 代码编译而来的。

function Clazz(x) {

this.Member = x;

this.Func= function ($scope) {
$scope.message = '' + this.Member; // this.Member is undefined
}
}


app.controller('TaxCtrl', new Clazz('Hello').Func );

当我切换到 TaxCtrl 时,会调用 Func,但 this 似乎不是 Clazz 的实例 因为 this.Member 始终未定义。

最佳答案

FuncClazz 实例的成员时,这将起作用。当 Angular 将函数构造为对象时,就是创建一个新对象,其中 this 引用 Func 的实例。

这是一个 jsbin 示例:

http://jsbin.com/rocopiwila/edit?js,console

如果您尝试将属性共享到 Controller ,请改用服务和注入(inject)。

关于javascript - AngularJS:当AngularJS Controller 是类的成员函数时, 'this'是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32576362/

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