我使用RequireJS动态加载Angularjs,虽然应用程序最初加载,但它会在控制台中生成此error。我已经尝试改变我的定义方式以及我加载应用程序和角度的顺序,但我仍然得到同样的错误。
我在这里发现了类似的问题,但没有解决我的问题。任何帮助将不胜感激。这是我的需要js文件以及我的角度应用程序定义:
(main.js)
require.config({
paths: {
angular: '../js/angular/angular.min',
jquery: '../js/lib/jquery-1.11.0.min',
app: '../js/app',
nvd3: '../js/nvd3/nv.d3.min',
d3: '../js/d3/d3.min',
},
shim: {
angular: {
deps: ['jquery'],
exports: 'angular'
},
nvd3: {
exports: 'nv',
deps: ['d3']
},
d3: { exports: 'd3'},
}
});
(loadAngular.js)
require([
'angular',
'app',
'services/services',
'controllers/controllers',
'directives/directives',
'd3',
'nvd3',
], function(angular) {
// angular.bootstrap(document, ['MyApp']);
});
(app.js)
require(["angular"], function (angular) {
'use strict';
// create the angular app
var app = angular.module('MyApp', ['MyApp.directives'
]);
app.factory('socket', function () {
var socket = io.connect('http://localhost:7000');
return socket;
});
// setup dependency injection
angular.module('d3', []);
angular.module('MyApp.directives', ['d3']);
angular.bootstrap(document, ['MyApp']);
});
更新: 我想我已经发现了错误被抛出的地方。我在base.html文件的脚本标记中有main.js文件,然后使用jquery .load()调用将实际内容视图(带有角度的东西)加载到div中。每个片段html文件都包含loadAngular.js。
从动态加载的视图(ng-app ='MyApp')中抛出错误:
<div id='trans' ng-app='MyApp' ng-controller='TransController'>
这让我觉得我没有使用RequireJS在页面上正确加载角度?任何人都可以看到文件中的任何错误吗?