AngularJS ng-options создают диапазон

Я пытаюсь создать элемент select, который имеет список чисел 1 на страницы, где страницы являются переменной, которая представляет собой количество страниц, которые у меня есть. То, что я не знаю, как это сделать, – структурировать выражение ng-options, чтобы оно дало мне нужные мне числа. Вот что я до сих пор

 

что мне нужно, чтобы добавить выражение ng-options, чтобы он мог создать мой выбор, например

  1 ... 35  

мне нужно создать функцию, которая возвращает массив чисел и как-то использовать его там или есть более простой способ сделать это?

любая помощь будет принята с благодарностью.

благодаря

РЕДАКТИРОВАТЬ

После публикации моего вопроса я выяснил один способ сделать это, создав функцию под названием Range в моем controllerе, которая принимает два числа и возвращает массив со всеми значениями в этом диапазоне.

 $scope.Range = function(start, end) { var result = []; for (var i = start; i <= end; i++) { result.push(i); } return result; }; 

то в HTML я сделал

  

Это самый простой способ сделать это или есть лучший способ?

Твой путь отлично работает. Другой вариант, который пришел мне в голову, – использовать фильтр, поэтому вам не нужно загрязнять ваш controller Range.

JS:

 var myApp = angular.module('myApp', []); myApp.filter('range', function() { return function(input, min, max) { min = parseInt(min); //Make string input int max = parseInt(max); for (var i=min; i 

HTML:

  

Пример: http://jsfiddle.net/N3ZVp/1/

PS в вашем примере в вашем главном посте, вы не ставили var перед i . Таким образом, i объявлен как глобальная переменная в вашем примере.

Добавьте ng-модель, как показано ниже.

  

После этого ваш пример будет работать в jsfiddle

Еще одно решение сохранить все в своем шаблоне:

  

другой подход без цикла for:

controller:

  $scope.arr = []; $scope.arr.length = count; 

просмотр привязки:

  ng-options="arr.indexof(i) for i in arr" 

Решение Энди отлично, однако диапазон не может идти назад. Вот улучшенная версия:

 /* * Creates a range * Usage example:  */ myApp.filter('range', function() { return function(input, start, end) { start = parseInt(start); end = parseInt(end); var direction = (start <= end) ? 1 : -1; while (start != end) { input.push(start); start += direction; } return input; }; }); 

Пиггинг по ответу мартины. Я изменил его, чтобы включить последнее значение в диапазон:

 /* * Creates a range * Usage example:  */ .filter('range', function () { return function (input, start, end) { var direction; start = parseInt(start); end = parseInt(end); if (start === end) { return [start]; } direction = (start <= end) ? 1 : -1; while (start != end) { input.push(start); if (direction < 0 && start === end + 1) { input.push(end); } if (direction > 0 && start === end - 1) { input.push(end); } start += direction; } return input; }; }); 

В CoffeeScript:

 app.filter 'range', -> (input, min, max) -> input.push(i) for i in [parseInt(min)..parseInt(max)] 

И HTML:

  

Вот суть с Javascript

Если вы хотите добавить placeholder в select, используйте нижеприведенное решение. Вы должны сначала определить фильтр следующим образом .

  
  • AngularJS - удалять пробелы в верхнем и заднем пространстве из поля ввода с использованием регулярного выражения
  • Как создать сервер localhost для запуска проекта AngularJS
  • Как получить элемент по имени classа или идентификатору
  • $ apply vs $ digest при тестировании директивы
  • угловой $ q, Как связать несколько обещаний внутри и после цикла
  • ионное приложение не может подключить сервер с поддержкой cors с помощью $ http
  • Устранение угловых «10 $ digest () итераций достигнуто« Ошибка
  • Обновить переменную родительской области в угловом
  • Как фильтровать несколько значений (операция OR) в angularJS с помощью флажка
  • 'this' vs $ scope в controllerах AngularJS
  • Есть ли способ сделать частичную загрузку AngularJS вначале, а не в случае необходимости?
  • Interesting Posts

    В каком часовом поясе отображается Date.toString ()?

    Сравнение свойств объекта в c #

    Где находится список закрепленных меню запуска и элементов панели задач, хранящихся в Windows 7

    В Windows 7 есть ли строка командной строки, которая может запускать cmd в качестве администратора?

    Как сделать полностью прозрачную навигационную панель в iOS 7

    Запомнить программу открытия скайпа в окнах 10

    сокет программирует несколько клиентов на один сервер

    gem install libv8 –version ‘3.11.8.17’ на rubyе (windows)

    Как я могу выбрать, какой браузер получает ссылку из разных приложений в каждый момент?

    Когда использовать ArrayList над массивом в c #?

    Внеочередное исполнение против спекулятивного исполнения

    Потерянное подключение к хосту Hyper V после создания внешнего коммутатора

    Два компьютера с объединенными ресурсами процессора и памяти?

    Java: как использовать Thread.join

    Как $ HTTP Синхронный вызов с помощью AngularJS

    Давайте будем гением компьютера.