2016-01-28 147 views
10

我想運行一個角度材質的例子,但對於我的生活我無法弄清楚爲什麼我得到這個錯誤。

我得到的錯誤是Error: $injector:modulerr Module Error

這是錯誤報告我:link

任何想法的問題可能是什麼?我實際上從他們的示例網站複製粘貼這個。

下面是代碼:

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

是這三個模塊,'[ 'ngMaterial', 'ngMessages',「material.svgAssetsCache ']'在你正在加載的8個文件中的一箇中定義的某個地方? – War10ck

回答

0

你引用與您的角度應用的.js文件? 我只能看到外部的JavaScript依賴關係,但沒有任何與您的應用程序控制器相關。注意您導入的訂單

+1

然後導入的正確順序是什麼?我複製粘貼從角網站上的一個工作示例。 – Katie

+0

想想什麼需要什麼。您的應用程序和控制器需要角框架,然後您必須將它們放在angular.js文件的後面 – CleanCoder

+0

E.g.如果將模塊和控制器放在文件myapp.js中,則必須在angular.js之後引用此文件。 CleanCoder

4

更改模塊腳本以刪除對material.svgAssetsCache的引用,演示將運行但沒有最後一行按鈕 - 引用「本地」圖像資源。

如果你抓住的圖標複印件(涼亭安裝材料設計圖標)並找到相關的24px的.SVG文件,並在/從你的網站的根目錄(比如說)/ IMG /圖標彈出他們(根據需要調整文件名和路徑),那麼即使這一節也能正常工作。

當您考慮這個演示時,這個演示很不值得推薦,因爲它很可能被選爲第一次嘗試,但它只能在CodePen沙盤中使用。

+0

您可以使用此JavaScript庫來繪製圖標https://klarsys.github.io/angular-material-圖標/儘管你必須做一些定位才能讓它們完美地位於(比如說)一個晶圓廠內。這一行:將圖標放在「android」fab示例中。 – Mike

-3

您需要添加:

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

最可能的是你缺少SVG圖標

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

我以爲這個文件在用npm安裝後會出現在material-design-icons目錄下,但是我沒有看到任何匹配的東西。這個文件是否包含在其他地方? – chrismarx

+0

謝謝,這是我的正確答案! – Adam91Holt

相關問題