我们正试图弄清楚打字稿的特殊行为。在以下两个代码示例中,jQuery对象应该由typescript更改。在可以正常工作的示例中,我们在实例化typescript类之后通过在方法中使用选择器引擎来引用jQuery对象。这有效:
namespace Company.Module {
export class GenericService {
private statefulObject: JQuery;
public constructor( ) {
}
private _toggleObjectState(): void {
this._statefulObject.toggleClass('text-hide text-success');
}
public SetObjectState(): void {
this.statefulObject = $('#statefulObject');
_toggleObjectState();
}
}
}
而在构造函数中传递jQuery对象不起作用:
namespace Company.Module {
export class GenericService {
private statefulObject: JQuery;
public constructor( _statefulObject: JQuery ) {
this.statefulObject = _statefulObject;
}
private _toggleObjectState(): void {
this._statefulObject.toggleClass('text-hide text-success');
}
public SetObjectState(): void {
_toggleObjectState();
}
}
}
我们想了解为什么会这样。
答案 0 :(得分:0)
不幸的是,这不是问题。我们的代码不起作用,因为我们引用了一个动态添加到DOM的对象。传递给typescript
构造函数时,该对象根本没有加载到DOM中,因此无法对其进行操作。 主持人请随时删除此问题。