2016-01-28 11 views
10

Sto provando a eseguire uno degli esempi di Angular Materials ma per la vita di me non riesco a capire perché sto ottenendo questo errore.

L'errore che sto ottenendo è Error: $injector:modulerr Module Error

Questo è il rapporto di errore che ho ottenuto: link

Tutte le idee che il problema potrebbe essere? Ho praticamente copiato questo dal loro sito web di esempi.

Ecco il codice:

angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache']) 
 

 
.controller('AppCtrl', function($scope) { 
 

 
});
.buttondemoBasicUsage section { 
 
    background: #f7f7f7; 
 
    border-radius: 3px; 
 
    text-align: center; 
 
    margin: 1em; 
 
    position: relative !important; 
 
    padding-bottom: 10px; } 
 

 
.buttondemoBasicUsage md-content { 
 
    margin-right: 7px; } 
 

 
.buttondemoBasicUsage section .md-button { 
 
    margin-top: 16px; 
 
    margin-bottom: 16px; } 
 

 
.buttondemoBasicUsage .label { 
 
    position: absolute; 
 
    bottom: 5px; 
 
    left: 7px; 
 
    font-size: 14px; 
 
    opacity: 0.54; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script> 
 

 
<div ng-controller="AppCtrl" ng-cloak="" class="buttondemoBasicUsage" ng-app="MyApp"> 
 
    <md-content> 
 

 
    <section layout="row" layout-sm="column" layout-align="center center" layout-wrap=""> 
 
     <md-button class="md-icon-button md-primary" aria-label="Settings"> 
 
     <md-icon md-font-icon="icon-home"></md-icon> 
 
     </md-button> 
 
     <md-button class="md-icon-button md-accent" aria-label="Favorite"> 
 
     <md-icon md-font-icon="icon-home"></md-icon> 
 
     </md-button> 
 
     <md-button class="md-icon-button" aria-label="More"> 
 
     <md-icon md-font-icon="icon-home"></md-icon> 
 
     </md-button> 
 
     <md-button href="http://google.com" title="Launch Google.com in new window" target="_blank" ng-disabled="true" aria-label="Google.com" class="md-icon-button launch"> 
 
     <md-icon md-font-icon="icon-home"></md-icon> 
 
     </md-button> 
 
     <div class="label">Icon Button</div> 
 
    </section> 
 
    </md-content> 
 
</div> 
 

 
<!-- 
 
Copyright 2016 Google Inc. All Rights Reserved. 
 
Use of this source code is governed by an MIT-style license that can be in foundin the LICENSE file at http://material.angularjs.org/license. 
 
-->

+0

Sono tutti e tre di questi moduli, '[ 'ngMaterial', 'ngMessages', 'material.svgAssetsCache '] 'definito da qualche parte in uno degli 8 file che stai caricando? – War10ck

risposta

0

Hai riferimento al file .js relative alla tua app angolare? Posso solo vedere le dipendenze javascript esterne, ma nulla relativo alla tua app - controller. Fai attenzione all'ordine in cui lo stai importando

+1

Qual è l'ordine corretto di importazione allora? Lo copio incollato da un esempio funzionante sul sito web angolare. – Katie

+0

Pensa a cosa ha bisogno di cosa. La tua app e controller hanno bisogno di framework angolare, quindi devi metterli dopo il file angular.js – CleanCoder

+0

E.g. Se inserisci il tuo modulo e i tuoi controller nel file myapp.js, questo file deve essere referenziato dopo angular.js. CleanCoder

4

Cambia lo script del modulo per rimuovere il riferimento a material.svgAssetsCache e la demo verrà eseguita ma senza la riga finale di pulsanti, che fanno riferimento a risorse di immagini "locali".

Se si afferra una copia delle icone (scrigno di installare materiale-design-icone) e individuare i file 24px rilevanti Svg e pop in (diciamo)/img/icone/dalla radice del tuo sito web (regolando i nomi dei file e il percorso come richiesto) allora anche questa sezione funzionerà perfettamente.

La demo è piuttosto scoraggiante quando ci si pensa in quanto è probabile che venga scelta come prima pugnalata al tentativo di risolvere le cose, ma funziona solo all'interno del sandbox di CodePen.

+0

È possibile utilizzare questa libreria JavaScript per disegnare le icone https://klarsys.github.io/angular-material- icone/anche se devi fare un po 'di posizionamento per farli posizionare perfettamente all'interno (diciamo) di un fab. Questa riga: ha inserito l'icona nell'esempio fab "android". – Mike

-3

è necessario aggiungere:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css"> 
29

Molto probabilmente vi manca svg icone

<script src="http://ngmaterial.assets.s3.amazonaws.com/svg-assets-cache.js"></script> 
+3

Ho pensato che questo file si trovasse nella directory material-design-icons dopo l'installazione con npm, ma non vedo nulla che corrisponda. Questo file è incluso da qualche altra parte? – chrismarx

+0

Grazie, questa è stata la risposta corretta per me! – Adam91Holt

Problemi correlati