问题:我尝试按角度将数组添加到我的app模块。 我的设置是Ionic + Angular + requireJS。
/*global define, require */
var controllers;
define(function (require) {
'use strict';
var angular = require('angular'),
[...]
controllers = angular.module('app.controllers', ['app.services', 'app.config']);
controllers.controller('SidebarMenuCtrl', require('controllers/SidebarMenuCtrl'));
controllers.controller('DefaultCtrl', require('controllers/DefaultCtrl'));
[...]
现在我的问题部分:
var ctrls = ['aboutCtrl', 'loginCtrl', 'infoCtrl'];
for (var k in ctrls) {
controllers.controller(ctrls[k], require('controllers/' + ctrls[k]));
}
requirejs现在说
模块名称“controllers / aboutCtrl”尚未加载上下文
并且我尝试在循环内加载每个其他控制器。
我上面加载的控制器工作正常 所以我觉得它与requirejs没有直接关系。
[编辑]:我现在通过在使用requirejs'回调在.controller()
中使用该文件之前要求该文件来修复它:
for (var k in ctrls) {
require(['controllers/'+ctrls[k]], function (c) {
controllers.controller(ctrls[k], c);
});
}
问题仍然存在:为什么requirejs不能像循环一样完成它的工作?