當我使用的對象具有selectedOptions屬性時,它不會顯示在下拉列表中。但是,當我放入範圍並從對象中選擇時,就會顯示它。任何人都知道爲什麼第一個不工作。這是plunker鏈接。選擇的選項沒有顯示Angularjs下拉列表
http://plnkr.co/edit/XLuXmAmh4F9OobyJhBCW?p=preview
var app = angular.module('angularjs-starter', []);
var model = {
options : [
{ id: 1, name: 'foo' },
{ id: 2, name: 'bar' },
{ id: 3, name: 'blah' }],
selectedOption : { id: 1, name: 'foo' }
}
app.value('vm',model);
app.controller('MainCtrl', function($scope,vm) {
$scope.vm =vm;
$scope.items = [
{ id: 1, name: 'foo' },
{ id: 2, name: 'bar' },
{ id: 3, name: 'blah' }];
$scope.selectedItem = $scope.items[1];
});
<body ng-controller="MainCtrl">
<h1>Select something below</h1>
<select id="s1" ng-model="selectedItem" ng-options="item as item.name for item in items"></select>
<h3>The selected item:</h3>
<pre>{{selectedItem | json}}</pre>
<h3>The inner html of the select:</h3>
<pre id="options" class="prettify html"></pre>
<select data-ng-options="o.name for o in vm.options" data-ng-model="vm.selectedOption"><option value="">Select one</option></select>
<pre>{{vm.selectedOption | json}}</pre>
</body>
如何使這工作,我做了這個工作通過使用selectedoption作爲ID。 plnkr.co/edit/XLuXmAmh4F9OobyJhBCW?p=preview但是每當我想顯示所選的選項名稱時,我都會調用一個函數來顯示它。但我不喜歡這種方法。 –