通过Angular指令在html模板中迭代配置数组?

deb*_*ian 3 javascript angularjs angularjs-directive

我最近进入AngularJS并尝试创建一个注册表单,我将从我在其他地方广泛使用的JavaScript配置填充国家/地区列表,因此我将其保留为JS对象.

我一直在尝试在我的选择输入上使用ng-repeat-start和*-end,但它失败了.

主要问题是,如何加载国家/地区数组并在我的模板中迭代它?

编辑: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>
Run Code Online (Sandbox Code Playgroud)

文件:

/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: '='
        }
    };
}]);
Run Code Online (Sandbox Code Playgroud)

Pet*_*nov 7

只需替换country[0]country[1]使用country.codecountry.name

http://plnkr.co/edit/OIGGitze5LLehDes2MQ8?p=preview 还是我错过了什么?