【发布时间】:2016-03-23 14:51:19
【问题描述】:
我有 2 页(我不使用 angular 的 routing - 这个约束)。
在其中一个中,我想使用指令ui-grid,就像在这个演示中一样:
var app = angular.module('myApp', ['ui.grid']);
app.controller('mainCtrl', function($scope) {
$scope.myData = [
{
"firstName": "Cox",
"lastName": "Carney",
"company": "Enormo",
"employed": true
},
{
"firstName": "Lorraine",
"lastName": "Wise",
"company": "Comveyer",
"employed": false
},
{
"firstName": "Nancy",
"lastName": "Waters",
"company": "Fuelton",
"employed": false
}
];
});
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.js"></script>
<script src="http://ui-grid.info/release/ui-grid-unstable.js"></script>
<link rel="stylesheet" href="http://ui-grid.info/release/ui-grid-unstable.css" type="text/css">
<div ng-app="myApp">
<div ng-controller="mainCtrl">
<div id="grid1" ui-grid="{ data: myData }" class="grid"></div>
</div>
</div>
我的问题是,是否有办法在任何情况下都不向应用程序注入 ui-grid 依赖项,但仅在我需要时才注入。
类似:
app.controller('mainCtrl', function($scope) {
app.$inject('ui-grid');
});
更新
我尝试过:
var ui_grid = $injector.get('ui-grid');
但我有一个错误:
未知提供者:ui-gridProvider
http://errors.angularjs.org/1.2.26/$injector/unpr?p0=ui-gridProvider%20%3C-%20ui-grid
【问题讨论】:
-
@AT 不,不是。我的问题是关于在
view中使用另一个模块和他的指令而不是在controller中。 -
我也认为是 stackoverflow.com/questions/29617903/… 和 stackoverflow.com/questions/27721530/… 的骗子。在 Mosh 的例子中,它是一个指令而不是一个服务
-
@AntonStrogonoff 不,不是。你看到我对 A T 的评论了吗?一样的。我不需要注入
service或factory。我需要注入一个模块。你能和我分享一个解决问题的方法吗? -
@MoshFeu 我不认为注入器确实可以帮助您处理模块,在这里帮不上忙。请注意,在您的第二个代码块示例中,您展示了如何注入 directive,而不是 module。总体而言,您要实现的目标是什么令人困惑。
标签: javascript html angularjs angular-ui-grid angularjs-injector