好吧,这对我来说有点难解释。我希望能够在TypeScript中做这样的事情:
(function() {
(function($) {
...
})(jQuery);
});我知道当我使用构造函数“TypeScript ($) {...}”创建一个构造函数"MyClass“并导出这个类时,它会被编译成几乎相同的值,但是我如何创建"(jQuery)”参数呢?我喜欢做的是在jQuery元素上调用myFunction:
$("#myDiv").MyClass.myFunction();所以我在我的类中有了这个元素,并使用它。
发布于 2014-05-16 01:45:24
我认为这主要是一个关注点分离的问题。您的类应该包含jQuery插件的功能,而函数应该提供对该功能的访问。
module MyExtension {
var $ = jQuery;
export class MyClass {
constructor (public $target: JQuery) {}
public doSomething () {
console.log('MyClass did something to', this.$target);
}
}
export function jqueryPlugin () {
return new MyClass(this).doSomething();
}
}
if (jQuery) jQuery.fn.extend({ myExtension: MyExtension.jqueryPlugin });https://stackoverflow.com/questions/23578022
复制相似问题