2017-04-02 51 views
0

我試圖通過使用html頁面的多個模塊來學習角度。一個模塊用於路由,其他模塊用於顯示內容。

例如,在這裏我有3個模塊在app.js.我有routeApp的路線,comentUpp用於顯示內容。並結合App來結合一切。

var routeApp = angular.module('routeApp',['ngRoute']); 
 
routeApp.config(function($routeProvider){ 
 
    $routeProvider 
 
    .when('/', { 
 
     templateUrl : 'views/comment.php', 
 
    }); 
 
}); 
 
var commentUpp = angular.module('commentUpp',['mainCtrl', 'commentService']); 
 
var combineApp = angular.module('combineApp',['routeApp','commentUpp'])

和的index.php我有這樣的:

<!DOCTYPE html> 
 
    <html ng-app="combineApp" > 
 
    <head> 
 
     <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" /> 
 
     <link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" /> 
 

 
     <!-- SPELLS --> 
 
     <!-- load angular and angular route via CDN --> 
 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular-resource.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular-route.min.js"> </script> 
 
    <script src="js/app.js"></script> 
 

 

 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
    </head> 
 
    <body > 
 

 
     <!-- HEADER AND NAVBAR --> 
 
     <header> 
 
      <nav class="navbar navbar-default"> 
 
      <div class="container"> 
 
       <div class="navbar-header"> 
 
        <a class="navbar-brand" href="/">Angular Routing Example</a> 
 
       </div> 
 

 
       <ul class="nav navbar-nav navbar-right"> 
 
        <li><a href="#"><i class="fa fa-home"></i> Home</a></li> 
 
        <li><a href="#about"><i class="fa fa-shield"></i> About</a></li> 
 
        <li><a href="#contact"><i class="fa fa-comment"></i> Contact</a></li> 
 
       </ul> 
 
      </div> 
 
      </nav> 
 
     </header> 
 

 
     <!-- MAIN CONTENT AND INJECTED VIEWS --> 
 
     <div id="main" > 
 
      <div ng-view></div> 
 

 
     </div> 
 

 
    </body> 
 
    </html>

正如你可以看到我想要注入comment.php到index.php中。下面 是我comment.php

<html> 
 
<div ng-controller="mainController"> 
 
    <div class="col-md-8 col-md-offset-2"> 
 

 
     <!-- PAGE TITLE =============================================== --> 
 
     <div class="page-header"> 
 
      <h2>Laravel and Angular Single Page Application</h2> 
 
      <h4>Commenting System</h4> 
 
     </div> 
 

 
     <!-- NEW COMMENT FORM =============================================== --> 
 
     <form ng-submit="submitComment()"> <!-- ng-submit will disable the default form action and use our function --> 
 

 
      <!-- AUTHOR --> 
 
      <div class="form-group"> 
 
       <input type="text" class="form-control input-sm" name="author" ng-model="commentData.author" placeholder="Name"> 
 
      </div> 
 

 
      <!-- COMMENT TEXT --> 
 
      <div class="form-group"> 
 
       <input type="text" class="form-control input-lg" name="comment" ng-model="commentData.text" placeholder="Say what you have to say"> 
 
      </div> 
 

 
      <!-- SUBMIT BUTTON --> 
 
      <div class="form-group text-right"> 
 
       <button type="submit" class="btn btn-primary btn-lg">Submit</button> 
 
      </div> 
 
     </form> 
 

 
     <!-- LOADING ICON =============================================== --> 
 
     <!-- show loading icon if the loading variable is set to true --> 
 
     <p class="text-center" ng-show="loading"><span class="fa fa-meh-o fa-5x fa-spin"></span></p> 
 

 
     <div class="comment" ng-hide="loading" ng-repeat="comment in comments"> 
 
      <h3>Comment #{{ comment.id }} <small>by {{ comment.author }}</h3> 
 
      <p>{{ comment.text }}</p> 
 

 
      <p><a href="#" ng-click="deleteComment(comment.id)" class="text-muted">Delete</a></p> 
 
     </div> 
 

 
    </div> 
 
</div> 
 

 
</html>

由於某種原因,它表明

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.6.3/ $injector/modulerr?p0=combineApp&p1=Error…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.6.3%2Fangular.min.js%3A22%3A179)

就如何解決這一問題的任何想法?感謝

回答

0

你並不需要一個單獨的模塊有mainCtrl和commentService注入,則需要將commentService注入到你的mainCtrl,

var commentUpp = angular.module('commentUpp',[]); 

然後

var combineApp = angular.module('combineApp',['routeApp','commentUpp']) 
+0

很抱歉,但我在哪裏放mainCtrl,如果我不使用它在commentUpp? –

+0

你可以直接在combineApp中使用它。 – Sajeetharan

+0

combineApp.controller('mainCtrl',function($ scope,commentService){ }); – Sajeetharan

相關問題