gpt4 book ai didi

javascript - 在选择中使用 ngPluralize

转载 作者:行者123 更新时间:2023-11-30 07:16:24 25 4
gpt4 key购买 nike

是否可以在配置有 ngOoptions 的选择标签内使用 ngPluralize 来复数下拉列表的选项?

我目前有以下 Controller

function Ctrl ($scope) {
$scope.ranges = [1, 2, 3, 4, 5];
$scope.range = $scope.ranges[4];

$scope.$watch('range', function(val) {
console.log('change' + val);
});
};

和下面的标记

<div ng-controller="LiveViewerCtrl">
<select ng-model="range"
ng-options="range for range in ranges"
ng-pluralize
count="range"
when="{'1': '1 Minute', 'other': '{} Minutes'}">
</select>
</div>

我还尝试使用 ng-repeat 自己创建选项并且效果很好。不幸的是,虽然我在我的 Controller 中指定了一个默认值,但下拉列表有一个空的默认值并且没有被预选。如果我使用 ngOptions 方法,预选会起作用,但值不会复数。

最佳答案

作为Dmitry解释说,ngPluralize 不能与 ngOptions 一起使用,但是没有什么可以阻止您将它与 ngRepeat 一起使用:

HTML:

<body ng-controller="AppController">

<select ng-model="selectedRange">
<option value="">Select number ...</option>
<option
ng-repeat="range in ranges"
ng-pluralize
count="range"
when="{1: '{{range}} minute', other: '{{range}} minutes'}"
>{{range}}</option>
</select>

</body>

JS:

app.controller('AppController',
[
'$scope',
function($scope) {
$scope.ranges = [1, 2, 3, 4, 5];
$scope.selectedRange = $scope.ranges[4];
}
]
);

Plunker

顺便说一下,关于您的“预选”问题,请注意 JavaScript 数组是 zero-indexed .

关于javascript - 在选择中使用 ngPluralize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15471736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com