该对象错过了您对模型的参考

时间:2015-02-12 18:08:20

标签: javascript angularjs

我有一个代码html que使用** ** ng-repeat,我用** ng-model **绑定你的属性。但是当我通过一个方法执行引用并尝试在方法中清理并设置一个相等的对象时,我将失去与视图模型的链接。

Heres是我的观点代码:

<div ng-repeat="car in cars">
    <input ng-model="car.name" type="text"/>
    <button ng-click="clearCar(car)">Clear</button>
</div>

这是我的.js代码:

var clearedCar = {
    name : ''    
}

$scope.clearCar = function(car){
    car = null;
    car = clearedCar;
}

因此,当我点击按钮时,输入会继续显示汽车的旧值。

  

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

设置car = clearedCar只是设置ng-repeat中使用的临时变量。你想要做的是更新汽车收藏中的价值。

您可以使用$ index在ng-click中获取数组索引:

<button ng-click="clearCar($index)">Clear</button>

然后更新clearCar的实现 - 注意angular.copy:

$scope.clearCar = function($index){
  $scope.cars[$index] = angular.copy(clearedCar);
};

这是一个Plunker - http://plnkr.co/edit/7xbshQYEcXEriYF0wGSd?p=preview