【问题标题】:AngularJs send value of a controller to a serviceAngularJs 将控制器的值发送到服务
【发布时间】:2014-07-29 19:16:02
【问题描述】:

问题很简单,我在一个控制器中有值,我想把这个值发送给另一个控制器。

我有这个代码:

var app = angular.module("MyApp", []);

app.factory("UserService", function() {
  var users = //how to get the value user of MyCtrl ?

  return {
    all: function() {
      return users;
    },
    first: function() {
      return users[0];
    }
  };
});

app.controller("MyCtrl", function($scope, UserService) {
  var users = ["Peter", "Daniel", "Nina"];
  $scope.users = UserService.all();
});

app.controller("AnotherCtrl", function($scope, UserService) {
  $scope.firstUser = UserService.first();
});

我不知道如何从UserService 中的控制器MyCtrl 获取var users = ["Peter", "Daniel", "Nina"]; 的值?

现场示例:http://jsbin.com/vacutodo/1/edit?html,js,output

【问题讨论】:

    标签: angularjs web-services factory


    【解决方案1】:

    你可以将它注入你的函数中:

    app.factory('UserService', ['MyCtrl', function(MyCtrl) {
        var users = MyCtrl.users;
        ...
    };
    
    app.controller("MyCtrl", function($scope, UserService) {
        var users = ["Peter", "Daniel", "Nina"];
        $scope.users = UserService.all();
    
        return {
            users: users
        };
    });
    

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多