在下面的代码中 如何用$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