AngularJs 为值输入缓存 ng-model

AngularJs cache ng-model for value input

这是我的表格:

<div class="row responsive-sm" >
  <div class="col">
    <label class="item item-input item-stacked-label">
      <input type="text" ng-model="compte.nom" placeholder="Nom" >
    </label>
  </div>
</div>

<div class="row">  
  <div class="col">
    <button class="button button-block" ng-controller="detailsCompteInformation" ng-click="modifInfo()">Modifier mes informations</button>
  </div>
</div>

在我的控制器中,我像这样给 compte.nom 赋值:

var nom="";

if(angular.isObject(response.field_nomFamille))
{
     nom=response.field_nomFamille.und[0].value;
}

dataDrupal={nom:nom};
$scope.compte=dataDrupal;

但是当用户点击我的按钮提交表单时,我调用 modifInfo() :

$scope.modifInfo = function() {
    console.log($scope.compte);
}

这个功能在我的控制器里.controller('detailsCompteInformation')

如果用户更改了输入 compte.nom 中的值,我将无法获得新值。我得到了我的初始值。

如何刷新 $scope.compte 以从表单中获取新值?

您有 2 个 div 块。 第一个没有任何控制器 第二个绑定到 detailsCompteInformation 控制器。

In my controller, i give value to compte.nom like this :

我想你在 detailsCompteInformation 控制器中为 compte.nom 赋值,然后它与你的第一个块(有你的输入)无关。您应该尝试用包装器包装这 2 div 块并将其绑定到 detailsCompteInformation 控制器,然后在第二个块中删除 detailsCompteInformation。 像这样:

<div ng-controller="detailsCompteInformation">
  <div class="row responsive-sm" >
    <div class="col">
      <label class="item item-input item-stacked-label">
        <input type="text" ng-model="compte.nom" placeholder="Nom" >
      </label>
    </div>
  </div>

  <div class="row">  
    <div class="col">
      <button class="button button-block" ng-click="modifInfo()">Modifier mes informations</button>
    </div>
  </div>
</div>