[英]Angular Dependency Injection, Passing values between modules using service
我已經閱讀了有關angular的依賴注入。 我想測試一下。 但是在注入模塊時,我想將值從一個模塊傳遞到另一個模塊(我正在控制台上輸出
(編輯:解決了該錯誤。未捕獲的錯誤:無模塊: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;
})
請指出我做錯了什么。
您需要將模塊名稱作為依賴項傳遞,而不是變量名稱。
更改:
var sisUser = angular.module("wbsislogin",[]);
var wbSis = angular.module("wbsis",["sisUser"]);
至:
var sisUser = angular.module("wbsislogin",[]);
var wbSis = angular.module("wbsis",["wbsislogin"]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.