我有一个使用require
的普通JS类//a.js
(function() {
define(function() {
var vaz = function(dependency){
var myFact = function(){
// doing a new Dependency();
}
return myFact;
};
return ['dependency',vaz];
});
}());
现在我正在创建一个角度模块:
define([<a.js>], function(A){
var mod = angular.module('myMod');
mod.factory("myFact", A);
mod.run([function(){
new A() // gives an error 'A is not a constructor'
new A[1]() //gives an error 'dependency is not a constructor'
}])
})
这给了我一个错误,说a不是构造函数,因为它是遗留代码,我不允许修改a.js. 请帮忙。
答案 0 :(得分:0)
如果依赖关系的原型正确设置了 ImageButton identifymusic =(ImageButton)findViewById(R.id.identifymusic);
identifymusic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// what to write here to open the widget
}
});
属性,那么这应该有效:
constructor
但如果情况并非如此,那么在不修改遗留代码的情况下,您无法做到这一点。 (也许你可以在define([<a.js>], function(A){
var mod = angular.module('myMod');
mod.factory("myFact", A);
mod.run(['$injector', function[function($injector){
var dep = $injector.get("dependency");
var new A[1](dep.constructor);
}])
})
原型上设置构造函数属性而没有太多副作用)