В вашем примере сначала вы должны инициализировать свой availableColors
в качестве пустого массива:
$scope.availableColors = [];
Затем вы можете написать свой простой сервис с помощью $http
:
$http.get('data.json').then(
function (response) {
$scope.availableColors = response.data;
$scope.multipleDemo.colors = ['Blue','Red'];
},
function (response) {
console.log('ERROR!!!');
}
);
Итак, теперь вы можете использовать этот код без предварительного определения вашего availableColors
по некоторым значениям.
В этом примере я добавил файл data.json
, который содержит массив цветов.
Это очень простой пример, но я надеюсь, что он вам поможет. Изменения начинаются с line 118
в файле demo.js
.
Если вы хотите динамически обновлять список вариантов, вы можете использовать атрибуты refresh
и refresh-delay
директивы ui-select-choices
.
Первый атрибут, как вы можете догадаться, получает функцию, подобную
refresh="funcAsync($select.search)"
, которая будет вызываться каждый раз, когда вы вводите что-либо. И вы можете использовать второй атрибут как
refresh-delay="0"
. Как вы можете догадаться, он используется для заданной задержки вызова функции refresh
в миллисекундах. По умолчанию это значение установлено на 1000
.
I обновил мой плунжер, поэтому решил не писать собственные бэкэнд-функции. Вот почему вы можете проверить это, просто набрав red
в первом поле ui-select
- значения будут получены из другого файла .json
- data1.json
.
Надеюсь, это вам поможет.