用 http 请求填充 angularjs 模板



在下面的代码中 如何用$http请求的结果填充模板?例如,我想使用以下结果:

function LoginCtrl($scope, $http) {
    $scope.login = function () {
    $http.post("login", {password: $scope.password, username: $scope.username}).
        success(function (data, status, headers, config) {
        // data is result with html format 
        console.log("successfully logged to login")
        });
    };
}

在下面的模板属性中

angular.module(......).config(function ($routeProvider) {
    $routeProvider.
        when('/', {controller: LoginCtrl, template: ?? {
        }

基本上使用 {{login}} 绑定模板中的 $scope.login 值。但在您的情况下,login是一个不返回值的函数。因此,让它返回一个值,如下所示:

function LoginCtrl($scope, $http) {
  $scope.login = function() {
    $http.post("login", {password: $scope.password, username: $scope.username}).
      success(function(data, status, headers, config) {
        // data is result with html format 
        return data
      });
  };
}

然后还要确保调用此函数,以便它实际运行!

$scope.login() .或者,您可能希望使用自调用函数使其调用自身,(function() { /* your code */ })()

由于您要将 HTML 写入模板,因此可能还需要使用 ng-bind$sce 服务trustAsHTML

最新更新