2013-11-21 220 views
0

模塊之間傳遞的值我已閱讀關於角度的依賴注入。我想對它進行測試。但是當我注入模塊時,我希望將值從一個模塊傳遞到另一個模塊(我在控制檯上輸出角依賴注入,使用服務

(編輯:解決它給出錯誤未捕獲錯誤:沒有模塊:sisUser angular.min.js: 18它甚至沒有評估的角度表達{{2 + 2}})

讓我解釋一下情景:

的login.html

平原簡單的登錄請求兩個文本輸入的用戶名和密碼服務「用戶」。

<html lang="en" ng-app="wbsislogin"> 
<head> 
</head> 
<body> 
<form> 
<fieldset> 
    <label> 
     <span class="block input-icon input-icon-right"> 
     <input type="text" class="span12" ng-model="username" placeholder="Username" /> 
     <i class="icon-user"></i> 
     </span> 
    </label> 

    <label> 
     <span class="block input-icon input-icon-right"> 
      <input type="password" class="span12" ng-model="password" placeholder="Password" /> 
      <i class="icon-lock"></i> 
     </span> 
    </label> 

    <div class="space"></div> 

    <div class="clearfix"> 
    <label class="inline"> 
    <input type="checkbox" class="ace" /> 
     <span class="lbl"> Remember Me</span> 
    </label> 

    <button ng-click="loginbtn()" class="width-35 pull-right btn btn-small btn-primary"> 
     <i class="icon-key"></i> 
     Login 
    </button> 
    </div> 

    <div class="space-4"></div> 
    </fieldset> 
</form> 
<script src="angular/angular.min.js"></script> 
    <script src="wbsis.js"></script> 
</body> 
</html> 

Dash.html

顯示距離的login.html傳遞的用戶名和密碼通過注射服務

<html lang="en" ng-app="wbsislogin"> 
<head> 
</head> 
<body> 
<p>{{2+2}}</p> 
<div ng-controller="ditest"> 
    {{ usen }} {{ pasw }} 
</div> 

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

wbsis.js

var sisUser = angular.module("wbsislogin",[]); 
var wbSis = angular.module("wbsis",["wbsislogin"]); // as per the solution 1 

sisUser.controller("loginformCtrl",function($scope,user,$log,$location){ 
$scope.username = "s"; 
$scope.password = "test2"; 
$scope.loginbtn = function(){ 
    user.usern = $scope.username; 
    user.passw = $scope.password; 
    $log.log(user.usern,user.passw); 
    window.location.href='http://sis_frnt.dev/app/dash.html'; 

} 

}); 

sisUser.factory("user", [function($log){ 
var user = { 
    usern: '', 
    passw: '' 
}; 
return user; 
}]); 
wbSis.controller("ditest", function($scope, $log, user){ 
$log.log(user.usern,user.passw); 
$scope.usen = user.usern; 
$scope.pasw = user.passw; 

}) 

請指導我做錯了。

+0

試着改變js文件的加載順序。在'angular.min.js'之前移動'wbsis.js' – AlwaysALearner

+0

@CodeHater Nothing。更多的錯誤。未捕獲的ReferenceError:角沒有定義wbsis.js:1個 未被捕獲的錯誤:否模塊:wbsis angular.min.js:18 –

回答

1

您需要傳遞模塊的名稱作爲依賴項而不是變量名稱。

變化:

var sisUser = angular.module("wbsislogin",[]); 
var wbSis = angular.module("wbsis",["sisUser"]); 

要:

var sisUser = angular.module("wbsislogin",[]); 
var wbSis = angular.module("wbsis",["wbsislogin"]);