ng-init的ng-options无法正常工作

时间:2016-03-21 13:41:37

标签: javascript angularjs

鉴于此情况,如果转发器中不存在该值,则此选择不会初始化。是否可以显示与转发器中的值不同的值?

Fiddle

<input type="text" ng-model="somethingHere2"/>
Select:
<select ng-init="somethingHere2 = options.default" 
        ng-model="somethingHere2" 
        ng-options="items for items in options.values">
</select>

$scope.workItem = 100;
$scope.options = {
  default:$scope.workItem,
  values:[1,2,3,4,5]
};
$scope.serviceValues = Service; // Service = .factory('Service',...)

1 个答案:

答案 0 :(得分:3)

可以向<option>添加单个硬编码<select>,这将是默认选择的选项,通常用于“请选择...”或类似 - 请注意这一点有一个值=“”,即一个空字符串:

<input type="text" ng-model="somethingHere2"/>
Select:
<select ng-init="somethingHere2 = options.default" 
        ng-model="somethingHere2" 
        ng-options="items for items in options.values">
    <option value="">Please select...</option>
</select>

这可能允许你做你想做的事情 - 除此之外,ng-options的重点在于迭代提供的值并将select限制为那些值,因此你不能拥有不是的值在阵列中。