我正在尝试设置复选框的默认值,但是我很难尝试这样做,而且我也不知道哪里出了问题。这是我的密码
<select class="form-control" ng-init="newQuestion.positionOnSurvey=vm.questionsPositions[0]" ng-model="newQuestion.positionOnSurvey">
<option ng-repeat="position in vm.questionsPositions track by $index" value="{{position}}">{{position}}</option>
</select>vm.questionsPositions = 5,所以这不是问题。我没有在我的控制器中初始化newQuestion,但是它不应该是ng-init的情况吗?
更新:
现在我像这样初始化这个字段,但是它仍然不起作用。
vm.newQuestion = {};
vm.newQuestion.positionOnSurvey = vm.questionsPositions[0];
<select class="form-control" ng-model="vm.newQuestion.positionOnSurvey">
<option ng-repeat="position in vm.questionsPositions track by $index" value="{{position}}">{{position}}</option>
</select>发布于 2015-08-07 12:03:07
您应该使用控制器来初始化值,以及使用ng-options创建下拉列表的更好方法。
比如:
HTML:
<select class="form-control" ng-model="newQuestion.positionOnSurvey" ng-options="position for position in vm.questionsPositions"></select>控制器:
$scope.vm ={};
$scope.newQuestion ={};
$scope.vm.questionsPositions = [12,14];
$scope.newQuestion.positionOnSurvey = $scope.vm.questionsPositions[0];所以select列表中的初始值是12
发布于 2015-08-07 10:26:15
您可以尝试使用默认值在控制器中插入$newQuestion.positionOnSurvey,因此视图中的选择器将有一个初始值。
发布于 2015-08-07 10:31:48
ngInit的唯一合适用途是对ngRepeat的特殊性质进行混叠。此外,您应该使用控制器而不是ngInit来初始化作用域上的值。
根据ngInit API,我建议在控制器上设置选择的初始值。
请参阅:控制器指南
https://stackoverflow.com/questions/31875446
复制相似问题