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 */ })()

ng-bindテンプレートに HTML を記述しているため、$sceサービスも使用する必要がある場合があります。trustAsHTML

于 2013-09-28T17:15:00.607 に答える