如何将一个控制器值更改为另一个控件

时间:2017-07-07 07:25:44

标签: angularjs service factory

var getAgentBalanceAmount = function (ClientId, UserId) {
    $http({
        method: 'GET',
        url: $scope.ip + '/getAgentBalanceAmount?ClientId=' + ClientId + '&AgentId=' + UserId + ''
    })
    .then(function success(response) {
        $scope.getBalAmount = response.data[0].BalanceAmount;
    }, function error(response) {
        alert('Error');
    });
};

在这个方法中,$ scope.getBalAmount有一些值并绑定到index.html page.here索引页面充当主页面。我想在其他页面上更改此值(在内容页面中。)是否可能。谢谢提前。

3 个答案:

答案 0 :(得分:0)

在roots视镜中设置。

  var getAgentBalanceAmount = function (ClientId, UserId) {
        $http({
            method: 'GET',
            url: $scope.ip + '/getAgentBalanceAmount?ClientId=' + ClientId + '&AgentId=' + UserId + ''
        })
        .then(function success(response) {
            $rootscope.getBalAmount = response.data[0].BalanceAmount;
        }, function error(response) {
            alert('Error');
        });
    };

答案 1 :(得分:0)

使用工厂。如果要使用工厂,请在控制器中注入工厂(UserService)。

要获取index.html中的金额值,请在适当的控制器中注入工厂并使用get方法。

$scope.amount = UserService.getBalAmount();

JS

var getAgentBalanceAmount = function (ClientId, UserId) {
  $http({
    method: 'GET',
    url: $scope.ip + '/getAgentBalanceAmount?ClientId=' + ClientId + '&AgentId=' + UserId;
  })
  .then(function success(response) {
    UserService.setBalAmount(response.data[0].BalanceAmount);
  }, function error(response) {
    alert('Error');
  });
};

Factory

app.factory("UserService", function() {
  var balAmount;
  return {
    getBalAmount: function() {
      return balAmount;
    },
    setBalAmount: function(amount) {
      balAmount = amount;
    }
  };

答案 2 :(得分:0)

在rootscope中设置或使用会话或本地存储方法。 :

var getAgentBalanceAmount = function (ClientId, UserId) {
        $http({
            method: 'GET',
            url: $scope.ip + '/getAgentBalanceAmount?ClientId=' + ClientId + '&AgentId=' + UserId + ''
        })
        .then(function success(response) {
            $rootscope.getBalAmount = response.data[0].BalanceAmount;
        }, function error(response) {
            alert('Error');
        });
    };

var getAgentBalanceAmount = function (ClientId, UserId) {
        $http({
            method: 'GET',
            url: $scope.ip + '/getAgentBalanceAmount?ClientId=' + ClientId + '&AgentId=' + UserId + ''
        })
        .then(function success(response) {
           $window.sessionStorage.token=response.data[0].BalanceAmount;
        }, function error(response) {
            alert('Error');
        });
    };

使用以下代码直接使用会话内存储获取另一个页面: console.log($window.sessionStorage.token)访问所有页面