Angularjs形成范围错误

时间:2017-09-27 11:49:16

标签: angularjs

我有一个带有名字列表的Angularjs表单。 当我点击名称时,表单将随此配置文件一起更改。 当我更改一个输入而不保存它时,我点击另一个配置文件,除了一个已更改的输入外,每个事情都会发生变化。

<form class="form-horizontal bordered-row" >
                <div class="form-group">
                  <label class="col-sm-4 control-label">Naam</label>
                  <div class="col-sm-6">
                    <input type="text" class="form-control" id="" value="{{gegevens.naam | capitalize}}">
                  </div>
                </div>
                <div class="form-group">
                  <label class="col-sm-4 control-label">Categorie</label>
                  <div class="col-sm-6">
                    <select class="form-control">
                      <option ng-repeat="x in producten_categorie" value="{{x.value}}" ng-selected="gegevens.categorie == x.value">{{x.name}}</option>
                    </select>
                  </div>
                </div>
                <div class="form-group pad25L">
                  <button class="btn btn-info" ng-click="productAlgemeen_update(gegevens.naam);">Save</button>
                </div>
              </form>

改变范围:

$scope.productGegevens = function(product){
$http.post("php/producten-locatie.php", {'id':product.id}).then(function(response){
  $scope.producten_locatie = response.data.records[0];
  $scope.gegevens = {
    id:product.id,
    naam:product.naam,
    categorie:product.categorie,
    straatnaam:$scope.producten_locatie.straatnaam,
    huisnummer:$scope.producten_locatie.huisnummer,
    postcode:$scope.producten_locatie.postcode,
    stadsnaam:$scope.producten_locatie.stadsnaam
  };
});

}

1 个答案:

答案 0 :(得分:1)

请注意,输入数据需要与ng-model绑定,而您输入的值为tag。它表示该值在html中呈现而不在模型中,因此当您单击其他配置文件UI时无法检测到更改。请使用ng-model作为输入框的输入值而非值标签。