obi*_*mme 1 javascript angularjs
是否可以在使用ngOoptions配置的选择标记内部使用ngPluralize来复制下拉列表的选项?
我目前有以下控制器
function Ctrl ($scope) {
$scope.ranges = [1, 2, 3, 4, 5];
$scope.range = $scope.ranges[4];
$scope.$watch('range', function(val) {
console.log('change' + val);
});
};
Run Code Online (Sandbox Code Playgroud)
和以下标记
<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>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用ng-repeat自己创建选项,并且工作正常.不幸的是,下拉列表有一个空的默认值,虽然我在控制器中指定了默认值,但未预先选择.如果我使用ngOptions方法预选工作,但值不是复数.
正如德米特里解释的那样,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>
Run Code Online (Sandbox Code Playgroud)
JS:
app.controller('AppController',
[
'$scope',
function($scope) {
$scope.ranges = [1, 2, 3, 4, 5];
$scope.selectedRange = $scope.ranges[4];
}
]
);
Run Code Online (Sandbox Code Playgroud)
顺便说一下,关于你的"预选"问题,请注意JavaScript数组是零索引的.
| 归档时间: |
|
| 查看次数: |
1764 次 |
| 最近记录: |