需要限制輸入重複值。有一個添加按鈕,用戶點擊,然後出現一個文本字段。用戶輸入數據。 AngularJS檢查數據是否重複。如果不是,則創建一個新的文本字段。 這是策略。重複值的限制AngularJS推送方法
在初期,val = undefined
。當推送時,數組獲取值。但我想知道如何執行indexOf或任何其他AngularJS方法,以保持重複。
HTML
<input type="button" ng-click="add(set.values[$index])" value="add">
<span ng-show="message"> Please enter a new value </span>
<table>
<tr>
<th> New valid values </th>
</tr>
<tr ng-repeat="val in set.values track by $index">
<td><input type="text" ng-model="set.values[$index]"></td>
</tr>
</table>
$scope.set = { values: [] };//array that contains previous ng-model values
$scope.add = function(val) {
var index = $scope.set.values.indexOf(val);attempt 1
var index = $scope.set.values.includes(val);attempt 2
var index = $scope.set.values.indexOf($scope.set.values) 2
var index = $scope.set.values.includes($scope.set.values) 3
var index = $scope.set.values.includes($scope.set.values[]) 4
if (index == false) {
$scope.message = false;
$scope.set.values.push('');
}
else {
$scope.message = true;
}
};
你想,未來textfield是在用戶打字的時候出現,還是在他完成打字之後再次點擊同一個按鈕? – MrWook
'ng-click =「add(set.values [$ index])」' - 你不會得到正確的'$ index'值 –
@MrWook,我想要他完成打字並點擊按鈕 –