onload在控制器中调用函数以在html中设置值

时间:2019-02-11 09:43:45

标签: angularjs

 $rootScope.customerName = null;

    var getCustomer = function () {
      Service.getCustomerById($scope.customerId).then(
        function (data) {
          $scope.dealers.customerName = data.customerName;
          $scope.dealers.customerNameLabel = data.customerName + ' ';
          $rootScope.customerName = ' '+ $scope.dealers.customerNameLabel;
        }
        }
      );
    };

 getCustomer();

<div>{{customerName}}</div>

onload我正在控制器中调用一个函数以在html中设置值,但是它不起作用,在函数内部将值设置为“ abc”,而当我在html中对其进行调用时,它只是未定义的。需要帮助。

1 个答案:

答案 0 :(得分:1)

如果值未更新,则必须手动调用摘要周期,即 $ Scope。$ apply()

$rootScope.customerName = null;
    var getCustomer = function () {
      Service.getCustomerById($scope.customerId).then(
        function (data) {
          $scope.dealers.customerName = data.customerName;
          $scope.dealers.customerNameLabel = data.customerName + ' ';
          $rootScope.customerName = ' '+ $scope.dealers.customerNameLabel;
            $Scope.$apply();
        }
        }
      );
    };

 getCustomer();

<div>{{customerName}}</div>