角度依赖注入,使用服务在模块之间传递值
Angular Dependency Injection, Passing values between modules using service
我已经阅读了angular中的依赖项注入。我想测试一下。但当我注入模块时,我想把值从一个模块传递到另一个模块(我在控制台上输出
(编辑:已解决,它给出错误。未捕获错误:无模块:sisUser angular。min.js:18它甚至没有评估角度表达式{{2+2}})
让我来解释一下场景:
登录.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"]);
相关文章:
- 如何在 Angularjs 中的交叉模块之间共享数据
- 角度控制器名称在模块之间冲突
- 网络应用程序:模块之间相互交流
- 如何在模块之间共享对象
- RequireJS:如何在模块之间传递更新的数据
- 角度依赖注入,使用服务在模块之间传递值
- 如何在模块之间更新此变量的值
- 在模块之间传递对象引用
- 在模块之间传递值
- 在模块之间共享的事件发射器
- 如何在 AngularJS 中的两个独立模块之间共享数据
- 奇怪的壁虎行为(试图在js模块之间传递一个nsiDomWindows数组)
- Angular - 如何在模块之间共享控制器
- 如何在javascript模块之间进行通信
- 减少RequireJS模块之间的代码重复
- 如何在requirejs、javascript中的不同模块之间共享数据
- 寻找在模块之间导出和导入变量的最佳方式
- 什么'这是允许一个节点进程在其自己的模块之间进行通信的最具规模友好的方式
- PubSub模式用于在两个解耦的javascript模块之间传输数据
- 如何在两个模块之间传递事件数据