0

在下面的代码中,如何使用 $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: ?? {

        }
4

1 回答 1

0

您基本上使用 . 绑定$scope.login模板中的值{{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

于 2013-09-28T17:15:00.607 回答