Ho 2 pagine (non uso lo angular
di routing
- Questo vincolo).Iniettare la dipendenza del modulo (come plug-in) solo se necessario AngularJS
In uno di essi voglio utilizzare la direttiva ui-grid
come in questa demo:
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>
La mia domanda è se c'è un modo per non iniettare il ui-grid
dipendenze al app in ogni caso, ma solo quando ne ho bisogno.
Qualcosa di simile:
app.controller('mainCtrl', function($scope) {
app.$inject('ui-grid');
});
Aggiornamento
ho cercato di fare:
var ui_grid = $injector.get('ui-grid');
Ma ho un errore:
Unknown provider: ui-gridProvider <- ui-grid
http://errors.angularjs.org/1.2.26/$injector/unpr?p0=ui-gridProvider%20%3C-%20ui-grid
Duplicato di http://stackoverflow.com/q/13724832? –
@AT no non lo è. La mia domanda riguarda l'utilizzo di un altro modulo e le sue direttive in 'view' non nel' controller'. –
Presumo anche un duplicato di http://stackoverflow.com/questions/29617903/condially-inject-angular-module-dependency e http://stackoverflow.com/questions/27721530/conditional-injection-of-a-service -in-angularjs. Nel caso di Mosh è una direttiva non un servizio – Tony