2016-07-07 79 views
1

我与angularjs尝试,但我得到这个错误:未捕获的错误:[$注射器:modulerr]

这是我的html代码:

<!DOCTYPE html> 
<html ng-app="adphorusWork"> 
<head lang="en"> 
    <meta charset="UTF-8"> 
    <title>Search Movie</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <script src="scripts/angular.min.js"></script> 
    <script src="scripts/angular-route.min.js"></script> 
    <script src="scripts/jquery-1.9.1.min.js"></script> 
    <script src="app/search-movie.js"></script> 
</head> 
<body ng-controller="searchMovieController"> 
    <div class="navbar navbar-default navbar-fixed-top" style="margin-top: 20px;"> 
     <div class="container-fluid"> 
      <ul> 
       <li> 
        <a href="http://www.omdbapi.com/">OMDb Api</a> 
       </li> 
      </ul> 
     </div> 
    </div> 
    <div class="container" style="margin-top: 50px;"> 
     <div class="bs-docs-section" id=""> 
      <div class="row"> 
       <div class="col-lg-12"> 
        <div class="page-header"> 
         <h2><a href="https://github.com/Cakmakk">My Github</a></h2> 
        </div> 
        <div class="bs-component"> 
         <form class="well form-search" id="search-movie" onsubmit="return false;"> 
          <fieldset> 
           <legend>Search Movie</legend> 
          </fieldset> 
          <div> 
           <label class="control-label" for="movie-name">Movie Name : </label> 
           <input type="text" id="movie-name" class="input-small" style="margin-left: 10px;"> 
           <button id="btn-search-movie" type="button" class="btn-sm btn-primary" style="margin-left: 10px;" ng-click="searchMovie()"> 
            <span class="glyphicon glyphicon-search"> Search</span> 
           </button> 
          </div> 
         </form> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

,这是我的搜索movie.js码以下内容:

(function() { 
    'use strict'; 
    angular.module('adphorusWork', ['ngRoute']) 
     .controller('searchMovieController', 
     ['$scope','$route', 
     function ($scope,$route) { 
      $scope.searchMovie = function() { 
       alert("come") 
      } 
     }]); 
})(); 

当我'工作,我得到一个错误,如在图片enter image description here

还例如,当我我正在搜索'adphorusWork'我可以看到这个:Search finished.No matching found。它不应该是这样的。我应该在search-movie.js中看到angular.module('adphorusWork', ['ngRoute'])

我在哪里做错了?

+0

您可以点击错误的左侧的箭头后添加屏幕截图? – ValLeNain

+0

如果您正在搜索'adphorus',你能找到结果吗? –

+0

闻起来像重复。 – Knu

回答

0

确保您已添加角度和角度路线文件。

看到pluker:https://plnkr.co/edit/xZFrNepOa5wsbM0lMUbV?p=preview

它工作正常,我没有一个错误。

(function (angular) { 
'use strict'; 
angular.module('adphorusWork', ['ngRoute']) 
    .controller('searchMovieController', 
    ['$scope','$route', 
    function ($scope,$route) { 
     $scope.searchMovie = function() { 
      alert("come") 
     } 
    }]); 
})(angular); 
+1

另外,当使用全局闭包时,一个好的做法是在参数中传递你正在处理的对象。在你的情况下,将'angular'传递给全局闭包。 – ValLeNain

+0

我改变了这个 - >旧:search-movie.js新:app.js并工作。谢谢。 – eagle

+0

@ValLeNain Yepp。感谢和欢呼:) – varit05

0

包括以下内容:

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