首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度依赖注入,使用服务在模块之间传递值。

角度依赖注入,使用服务在模块之间传递值。
EN

Stack Overflow用户
提问于 2013-11-21 10:27:03
回答 1查看 5.1K关注 0票数 0

我读过关于角度依赖注入的文章。我想试一试。但是在注入模块时,我希望将值从一个模块传递到另一个模块(我是在控制台上输出)。

(编辑:解决了-给出了错误。未明错误:没有模块: sisUser,angular.min.js:18,它甚至没有计算角表达式{{2+2})

让我解释一下情况:

Login.html

简单简单的登录请求两个文本输入用户名和密码到一个服务“用户”。

代码语言:javascript
复制
<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传递的用户名和密码。

代码语言:javascript
复制
<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

代码语言:javascript
复制
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;

})

请指导我做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 10:39:15

您需要将模块的名称作为依赖项传递,而不是变量名。

更改:

代码语言:javascript
复制
var sisUser = angular.module("wbsislogin",[]);
var wbSis = angular.module("wbsis",["sisUser"]);

至:

代码语言:javascript
复制
var sisUser = angular.module("wbsislogin",[]);
var wbSis = angular.module("wbsis",["wbsislogin"]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20118335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档