반응형
표시되는 값을 변경하려면 ng-options에 필터를 사용합니다.
가격표가 여러 개 있습니다.0
,0.99
,1.99
...등)에 표시하고 싶다.<select>
.
Angular's를 쓰고 싶다.ng-options
이것처럼.
<select ng-model="create_price" ng-options="obj for obj in prices"/>
위에 표시되었을 때 다음 선택사항이 생성됩니다.0
,0.99
,1.99
...
단, 코드에 필터를 사용하여 '가격'이라는 단어가 표시될 때마다 코드가 float number를 문자열로 변경하여 표시하는 함수를 실행하려고 합니다.free
,0.99$
,1.99$
...등)
제가 그렇게 할 방법이 있나요?
감사해요.
더 좋은 방법이 있습니다.
app.filter('price', function() {
return function(num) {
return num === 0 ? 'free' : num + '$';
};
});
그런 다음 다음과 같이 사용합니다.
<select ng-model="create_price" ng-options="obj as (obj | price) for obj in prices">
</select>
이렇게 하면 필터는 배열에서만 작동하는 것이 아니라 단일 값에 유용합니다.오브젝트 및 대응하는 포맷필터가 있는 경우, 이것은 매우 편리합니다.
필터는, 필요에 따라서 코드로 직접 사용할 수도 있습니다.
var formattedPrice = $filter('price')(num);
다음과 같은 사용자 정의 필터를 생성하려고 합니다.
app.filter('price', function() {
return function(arr) {
return arr.map(function(num){
return num === 0 ? 'free' : num + '$';
});
};
});
다음과 같이 사용:
<select ng-model="create_price" ng-options="obj for obj in prices | price">
{{ obj }}
</select>
유사 코드를 용서하십시오.
data-ng-options="( obj.property | myFilter ) for obj in objects"
app.filter('myFilter', function() {
return function(displayValue) {
return (should update displayValue) ? 'newDisplayValue' : displayValue;
});
언급URL : https://stackoverflow.com/questions/16644402/use-filter-on-ng-options-to-change-the-value-displayed
반응형
'programing' 카테고리의 다른 글
Angular UI 부트스트랩에서 모달 폭을 늘리려면 어떻게 해야 합니까? (0) | 2023.03.27 |
---|---|
Ionic/Cordova 앱 인증 (0) | 2023.03.27 |
Google 클라우드 플랫폼의 Wordpress permalink가 작동하지 않습니다. (0) | 2023.03.22 |
기능하는 setState를 사용하는 경우 (0) | 2023.03.22 |
다트 플래터에서 json 문자열을 json 객체로 변환하는 방법? (0) | 2023.03.22 |