이 코드는 입니다. 코드는 여러 번 반복되므로 ng-repeat 루프에 유용합니다. 예를 들어, 내 코드의 두 인스턴스는 다음과 같습니다. 나는 NG 반복 루프에 그 일을하려고하지만, 지금까지 성공하지 않고있다각도 JS : 동적 ng 모델의 ng-repeat
$scope.filterParamDisplay = [
{param: 'userName', displayName: 'User Name'},
{param: 'userEmail', displayName: 'User Email'}
];
:
<div>
<input type="text" ng-model="searchParamaters.userName" placeholder="User Name"/>
<i class="fa fa-times" ng-click="resetSearchField(filterParamDisplay[0].param)" ng-show="showParam(filterParamDisplay[0].param)"></i>
</div>
<div>
<input type="text" ng-model="searchParamaters.userEmail" placeholder="User Email"/>
<i class="fa fa-times" ng-click="resetSearchField(filterParamDisplay[1].param)" ng-show="showParam(filterParamDisplay[1].param)"></i>
</div>
이 자바 스크립트에서 filterParamDisplay의 배열입니다. 이것은 내가 코딩 한 것입니다.
<div ng-repeat="param in filterParamDisplay">
<input type="text" ng-model="searchParams[{{param}}]" placeholder="{{param.displayName}}"/>
<i class="fa fa-times" ng-click="resetSearchField(filterParamDisplay[$index].param)" ng-show="showParam(filterParamDisplay[$index].param)"></i>
</div>
위의 ng-model 변수와 ng-click 및 ng-show의 $ index에 문제가 있습니다. 이 작업을 수행 할 수 있는지 확실하지 않은 경우 어떤 도움을 주셔서 감사합니다.
는 UPDATE : 모든 답변을 감사합니다, 사용
<div ng-repeat="p in filterParamDisplay">
...
ng-model="searchParams[p]"
위대한 작품!
아직 $ index를 사용하여 제대로 작동하지 않는 showParam 및 resetSearchField 함수에 어려움을 겪고 있습니다. 여기 내 코드가있다.
$scope.searchParams = $state.current.data.defaultSearchParams;
$scope.resetSearchField = function (searchParam) {
$scope.searchParams[searchParam] = '';
};
$scope.showParam = function (param) {
return angular.isDefined($scope.searchParams[param]);
};
을하고있다. 'param'이'ngRepeat'에 의해 설정되기 때문에'showParam (param)'자체가 작동해야합니다. – aarosil
'searchParams' 필드에 문제가 있어야합니다. 'searchParams'와'resetSearchField'를 포함하고있는 j를 공유 할 수 있습니까? –