Angularjs函数内部的变量范围

时间:2016-06-01 08:06:56

标签: html angularjs

我的HTML中的结构:

<div class="form-group">
  <label for="anbieter">Anbieter</label>
  <input type="text" ng-model="fields_answers.address" class="form-control">
</div>

我想在我的数据库中用我的控制器中的$http.get填充数据,如下所示(只有重要的东西):

(function(){
var SubmitFormController = angular.module('bdb').controller('submitFormCtrl', ['$scope', '$window', '$location', '$http', '$sce', function($scope, $window, $location, $http, $sce){
    var submitForm = this;
    $scope.fields_answers = {};

    submitForm.showResult = function(){
      $http.get("api/administration/idSearch/" + document.getElementById('searchFieldId').value, true).success(function (response) {
        $scope.fields_answers.address = response[0][0].address;
      });
    };
}());

因此,当我尝试使用showResult()函数的$ scope.fields_answers.address 设置某些内容时,它可以正常工作,但我似乎无法访问内部的ng-model变量showResult函数,它似乎不可见。

修改: 我已经尝试在输入中添加一个id =“address”并使用

将其设置在showResult()函数中
 document.getElementById('address').value = response[0][0].address;

此作品。 但我希望()使用ng-model变量。

1 个答案:

答案 0 :(得分:0)

我不确定这是否与您的问题有关,但不推荐在$ http.get上使用成功。尝试改变成功。

然后返回一个完整的响应对象,这样你的数据应该在响应的数据成员上,这意味着你可以用response.data访问它,然后通常当有多个值时它们将在数据的数组中,所以可能是response.data.values [0] [0] .address。

如果有点关闭,请输出对控制台的响应并进行相应调整,如有必要,请在此处发布响应对象的内容。