2017-09-27 75 views
0

我有一個帶名稱列表的Angularjs表單。 當我點擊一個名稱時,表單會隨着這個配置文件而改變。 當我更改一個輸入並且不保存它,並且我點擊其他配置文件時,除了已更改的一個輸入以外,每個事物都發生更改。Angularjs form scope bug

<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 
    }; 
}); 

}

+0

它看起來像變化檢測是一個問題。你能分享你的課堂文件嗎 –

+0

@AirirdhaDas我是Angular中的新成員,但是什麼是ts類文件? 當我按下更改範圍時,所有內容都會改變,但除了更改範圍外,也許是因爲它很髒? –

+0

沒關係,我在想這是角度應用程序,但它angularjs。 –

回答

1

請注意,輸入數據需要與NG-模型綁定,而您正在使用值標籤進入您的輸入。這意味着該值以html形式呈現,而不是模型中,因此當您單擊其他配置文件時,UI無法檢測到更改。請使用ng-model作爲輸入框的輸入值而不是值標籤。