0

我不确定为什么这不起作用。我将我的函数包装在一个匿名函数中,并相信在其他地方调用它之前不会对其进行评估。但我收到关于“dropchart”未定义的错误,因此在此模块中对其进行评估。

define(function() {
  var stage = {
    before: {
      createCanvas: function() {
        return function() {
          before(function(done) {
            this.canvas = new dropchart.Canvas({
              canvas: argsFor.canvas(),
              data: argsFor.data()
            });
            done();
          });
        };
      }
    }
  };
  return stage;
});

这是从另一个模块调用它的方式:

define(['jquery', 'dropchart', 'argsFor', 'stage'], 
  function($, dropchart, argsFor, stage) {

  var should = chai.should();
  var xAxisSpec = {

    run: function() {

      describe('xAxis', function() {

        stage.before.createCanvas();

        ...
4

1 回答 1

1

stage模块具有argsFordropchart依赖关系,而不是调用模块。

调用模块不能以某种方式使它们可用于stage模块,除非您将它们作为参数传递stage.before.createCanvas或将它们放入全局范围,这会破坏 require.js 的全部意义

于 2012-05-27T18:15:42.313 回答