在定义应用时,我将ng-grid作为依赖项:
var app = angular.module('myApp', ['ngGrid']);
但并非我的所有视图和控制器都需要ngGrid,所以我在考虑是否可以在定义需要它的控制器时加载和注入ngGrid?
我尝试过这样的事情,但它不起作用:
app.js:
var app = angular.module('app',[]);
ProductListCtrl.js:
define(['app', 'ng-grid'], function (app) {
'use strict';
app.register.controller('ProductListCtrl', ['$scope', 'ngGrid', function ($scope) {
name = $injector.get('ngGrid')
$scope.name = name
}]);
});
有什么建议吗?
答案 0 :(得分:2)
angularAMD
提供了ngload
RequireJS插件,允许您加载现有的AngularJS模块。将ngload
添加到main.js
,然后执行:
define(['app', 'ngload!ng-grid'], function (app) { ... }
有关详细信息,请参阅documentation。