使用带有requirejs的角度

时间:2017-03-20 09:08:12

标签: javascript angularjs requirejs

我有一个使用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. 请帮忙。

1 个答案:

答案 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); }]) }) 原型上设置构造函数属性而没有太多副作用)