Angularjs条件绑定

时间:2015-07-14 10:32:13

标签: angularjs

我已经使用了角度模型很长一段时间来演示双向数据绑定。我想要完成的是只有在有变化时才将输入字段绑定到模型。

如果我有

<input value="Hello world">

我希望只有在对值进行更改时才将值传播到模型变量。

2 个答案:

答案 0 :(得分:1)

答案取决于您要用于更新模型的事件。

假设您想要一个&#34;编辑表格&#34;但是不希望主模型更新现场,你可以制作模型的副本并扩展主模型&#34;保存&#34;

开始数据:

$scope.item ={age: 25, name: 'Foo Bar'};
$scope.editItem = angular.copy($scope.item);

HTML

<input ng-model="editItem.age">
<button ng-click="updateItem()">Update</button>

更新功能:

$scope.updateItem = function (){
  $http.put(url, $scope.editItem).success(function(resp){
     // merge data
     angular.extend( $scope.item, $scope.editItem);
  });
}

你也可以使用ng-change

做类似的事情

答案 1 :(得分:0)

你可以使用额外的变量和$ watch来实现。例如:

<input type="search" ng-model="searchText">

在控制器中

$scope.$watch('searchText', function() {
    $scope.filterText = $scope.searchText;
});

因此,如果输入中有任何更改,$ scope.filterText将更改为$ scope.searchText值