我是打字稿的新手。我只是想找一个带选择器的元素。无论我试过findElement()方法总是转为undefined。我在哪里做错了? 任何帮助非常感谢!
var cdnBasePath: any = this.findElement('meta[name="cdnBasePath"]').attr('content');
public findElement(selector: any) {
if (angular.isDefined(this.$window.jQuery)) {
return this.$document.find(selector);
} else {
return angular.element(this.$document.querySelector(selector));
}
}
答案 0 :(得分:1)
为了定义“this”,你必须将findElement声明为某个类的实例方法。像这样:
extends
否则你可以将它作为静态方法:
private static void displaySearch(String toSearch, Searcher searcher) {
...
searcher.search(...);
...
}
或者只是删除'this'并将其作为全局函数(我不建议这样做)
class SomeClass
{
public SomeMethod()
{
var cdnBasePath: any = this.findElement('meta[name="cdnBasePath"]').attr('content');
}
public findElement(selector: any)
{
if (angular.isDefined(this.$window.jQuery)) {
return this.$document.find(selector);
} else {
return angular.element(this.$document.querySelector(selector));
}
}
}
希望这有帮助。