Når du bruker angular 1.2 i stedet for 1.07, er følgende kode ikke lenger gyldig, hvorfor?
'use strict';
var app = angular.module('myapp', []);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when('/', {
templateUrl: 'part.html',
controller: 'MyCtrl'
}).
otherwise({
redirectTo: '/'
});
}
]);
problemet er i injektorkonfigurasjonsdelen (app.config):
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252)
Hvis jeg husker riktig startet dette problemet med vinkel 1.1.6.
Problemet skyldtes manglende inkludering av ngRoute-modulen. Siden versjon 1.1.6 er det en egen del:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
var app = angular.module('myapp', ['ngRoute']);
Foruten svaret nedenfor, hvis du har denne feilen i konsollen ([$injector:nomod]
, MINERR_ASSET:22
), men alt ser ut til å fungere bra, må du sørge for at du ikke har dupliserte inkluderer i index.html.
Fordi denne feilen kan også oppstå hvis du har dupliserte inkluderinger av filene som bruker denne modulen, og som er inkludert før filen med den faktiske modulerklæringen.