默认值不是 ?对象:空 ?在选择选项Angularjs中



这是文件 js 中的代码

$scope.ListOption = [];
$scope.ListOption.push({ Value: "0", Name: Car });
$scope.ListOption.push({ Value: "1", Name: House });

下面是代码 HTML 的样子

<select class="form-control" id="Category" ng-model="Category">
<option ng-repeat="option in ListOption" value="{{option.Value}}">
 {{option.Name}}</option>
</select>

生成的 html 是

<select class="form-control ng-pristine ng-valid" ng-model="Category" style="padding: 0px;">
<option value="? object:null ?"></option>
<option ng-repeat="option in ListOption" value="0" class="ng-binding ng-scope">Car</option>
<option ng-repeat="option in ListOption" value="1" class="ng-binding ng-scope">House</option>
</select>

我对这个问题很头疼。期待有人以另一种方式帮助我。

这是

错误的。 您正在与option匹配。改变它。我建议,使用track by $index没有重复的选项

<option value="{{option.Value}}" ng-repeat="option in ListOption track by $index">
 {{option.Name}}
</option>

我认为错误在于您使用主数组而不是可迭代的选项对象来获取值。实际上,这应该有效:

<select class="form-control" id="Category" ng-model="Category">
<option ng-repeat="option in ListOption" value="{{option.Value}}">
 {{option.Name}}
</option>
</select>

希望这对:)有所帮助

视图

<select class="form-control" data-ng-options="list.Name for list in ListOption" data-ng-model="selectedValue">

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http, $log) {
$scope.ListOption = [];
$scope.ListOption.push({ Value: "0", Name: "Car" });
$scope.ListOption.push({ Value: "1", Name: "House" });
$scope.selectedValue = [];
$scope.selectedValue = $scope.ListOption[0];

}(;

最新更新