2015-12-30 94 views
1

我正在學習AngularJS,我正在玩弄依賴注入和內插。

我得到了開發工具以下兩個錯誤中鉻:

Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to: 
Error: [$injector:nomod] Module 'myApp' is not available! You either misspelled the module name or forgot to load it. 

Uncaught SyntaxError: Unexpected token (on line9 app.js 

所以提到它明確指出,它無法找到該模塊的第一個錯誤,我知道我已經corectly寫它,並宣佈index.html中的模塊與data-ng-app="myApp"(我喜歡確保我符合html標準,因此我使用數據前綴),並且在html標記中引用時顯然不會被拼寫錯誤。

這裏是app.js:

和index.html:

<!DOCTYPE html> 
<html lang="en" data-ng-app="myApp"> 
<head> 
    <script src="//code.angularjs.org/1.5.0-rc.0/angular.js"></script> 
    <script src="app.js"></script> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
</head> 
<body> 
<div data-ng-controller="mainController"> 
    <label>What is your twitter handle? </label> 
    <input type="text" data-ng-model="handle"/> 
    <br/> 
    <h1>twitter.com/{{ lowercasehandle() }}</h1> 
</div> 
</body> 
</html> 

你可以從html標記我曾引用看到 '對myApp' 在頂部html標籤模塊。

至於與「意外的標記(」這是指這條線return $filter.('lowercase')($scope.handle);我沒有看到任何東西,是無效的第二個錯誤。

我知道我失去了一些東西,但我不能看到

回答

1

你已經注意到這個錯誤Uncaught SyntaxError: Unexpected token (on line9 app.js

這個錯誤涉及到filter.('lowercase')filter('lowercase')

1

轉換此

$filter.('lowercase')($scope.handle); 

這個

$filter('lowercase')($scope.handle); 
1

請檢查這一個。

$scope.lowercasehandle = function(){ 
     return $filter('lowercase')($scope.handle); 
    }; 
1

作爲每角文檔here

我們定義了一個模塊,如下所示:

var myApp = angular.module("myApp", []);

並限定出控制器,用於在模塊myApp,則應該使用它作爲

var app = angular.module("myApp"); 
app.controller("mainController", ['$scope', '$filter', function($scope, $filter){ 
$scope.handle = ''; 
$scope.lowercasehandle = function(){ 
    return $filter('lowercase')($scope.handle); 
}; 
}]);