Недавно я пришел в AngularJS и попытался создать регистрационную форму, где я бы заполнил список стран из моей конфигурации JavaScript, которая широко используется в другом месте, поэтому я сохраняю ее как объект JS.Iterate config array в html-шаблоне через угловые директивы?
Я пытаюсь использовать ng-repeat-start и * -end на моем входе select, но он терпит неудачу.
Главный вопрос: как мне загрузить массив стран и повторить его в моем шаблоне?
Edit: 30.11.2014 - Лучшие примеры
HTML:
<div class="form-group">
<label for="phone">Country</label>
<select-country ng-model="credentials.country"></select-country>
<pre>{{credentials.country}}</pre>
</div>
Файл:
/public/directives/countrySelector.directive.js
содержание Директива:
'use strict';
angular.module('app', [])
.value('countries', [
{name: 'Afghanistan', code: 'AF'},
{name: 'Åland Islands', code: 'AX'}
])
.directive('selectCountry', ['countries', function (countries) {
function link (scope, element, attrs) {
scope.countries = countries;
}
return {
template: '<select ng-options="country[1] as country[0] for country in countries"' +
' ng-model="credentials.country">' +
'</select>',
link: link,
scope: {
credentialsCountry: '='
}
};
}]);
Вы ищете ответ, который позволяет хранить массив 'countries' в * отдельном * файле проекта? Файл, который вы можете запросить через AJAX и загружать асинхронно? –
Да, также. Помимо правильной загрузки его в область полномочий с помощью контроллера – deb0rian