2016-07-27 31 views
1

我想从控制器中的下拉列表中显示列表。该阵列是控制器变量,如下所定义:ng-options和控制器数组

(function(angular) { 
    'use strict'; 
angular.module('staticSelect', []) 
    .controller('ExampleController', ['$scope', function($scope) { 
    self = this; 
    self.options = [ 
     {id: 1, label: "Item 1"}, 
     {id: 2, label: "Item 2"}, 
     {id: 3, label: "Item 3"} 
     ]; 

    $scope.data = { 
    singleSelect: null, 
    multipleSelect: [], 
    option1: 'option-1', 
    }; 

    $scope.forceUnknownOption = function() { 
     $scope.data.singleSelect = 'nonsense'; 
    }; 
}]); 
})(window.angular); 

现在,我想在下拉菜单中显示此选项数组。该脚本如下:

<body ng-app="staticSelect"> 
    <div ng-controller="ExampleController as ctrl"> 
    <form name="myForm"> 
     <label for="singleSelect"> Single select: </label><br> 
     <select name="singleSelect" ng-model="data.singleSelect" 
     ng-options="ctrl.option.id as ctrl.option.label for ctrl.option in ctrl.options"> 
     </select><br> 
     <tt>selected = {{data.singleSelect}}</tt><br/> 
    </form> 
    </div> 
</body> 

如果选择数组是$scope那么这个工作正常。我是AngularJS的新手。在使用控制器变量时,我在这里做错了什么?

回答

0

这是你的NG-选项如何属性应该是这样的:

ng-options="option.id as option.label for option in ctrl.options" 
+0

感谢you..it解决我的问题 – AdtG