2015-07-03 82 views
0

我在一個頁面中使用兩個模塊,第二個模塊不工作。如果我刪除第一個模塊,然後第二個工作正常。我不知道爲什麼會發生這種情況,因爲我們可以在一個頁面中使用兩個或多個模塊。爲什麼第二個模塊不能在angularjs中工作?

<html> 
<head> 
    <title>Angular JS</title> 

<script src="angular.min.js"></script> 
</head> 
<body> 


<p>------------ New Controller ------------</p> 

<div ng-app="newApp" ng-controller="validateform" > 
{{name}} 
    <form name="newForm"> 
     Enter Name: <input type="text" id="firstName" name="firstName" 
     ng-model="firstName" ng-maxlength="20"> </br> 
     <button ng-click="show()" >Submit</button> 
    </form> 
</div> 
<script> 
//Creating AngularJS controller here 
var newApp = angular.module('newApp',[]); 
newApp.controller('validateform',function($scope){ 
    $scope.name="newApp"; 
    $scope.show = function() { 
    if($scope.firstName == undefined || $scope.firstName == '') 
     alert('Name is Required'); 
    else 
     alert('Hi - ' + $scope.firstName); 
    }; 
    } 
); 
</script> 

    <h2>AngularJS Sample Application</h2> 
    <div ng-app="mainApp" ng-controller="myController"> 
    {{name}} 
    </div> 
<script> 
    var mainApp = angular.module("mainApp", []); 
    mainApp.controller('myController',function($scope){ 
     $scope.name="rishi"; 
    }); 
</script> 
</body> 
</html> 
+0

您應該每個頁面只有一個模塊充當應用程序。其他模塊應該是依賴關係。 – MikeSW

+0

[如何在一個頁面中定義兩個角度應用程序/模塊?](http://stackoverflow.com/questions/12860595/how-to-define-two-angular-apps-modules-in-one-page ) – MikeSW

回答

0

我沒有足夠的聲望對您的帖子發表評論,所以將其張貼爲答案。正如Mike所建議的,每個頁面只能有一個模塊作爲ng-app。 ng-app基本上是你的角度應用程序的入口點,應該在app.js中使用...如果你想要多個ng-app,那麼你必須使用角度引導。通過下面的鏈接進入

AngularJS Multiple ng-app within a page

希望這有助於....

0

只能有一個每頁NG-應用。如果想要另一個模塊,那麼你可以把它注射到第一模塊:

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

這會給你訪問該模塊的控制器等等

在頁面上,你可以定義控制器作爲控制器特定

<div ng-controller="myController"> 
... 
</div> 

的問題是,爲什麼不包括從第一模塊中的第二模塊控制器,讓他們一起?

相關問題