首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ng-init选择的默认值

使用ng-init选择的默认值
EN

Stack Overflow用户
提问于 2015-08-07 10:22:48
回答 5查看 3.3K关注 0票数 1

我正在尝试设置复选框的默认值,但是我很难尝试这样做,而且我也不知道哪里出了问题。这是我的密码

代码语言:javascript
复制
<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的情况吗?

更新:

现在我像这样初始化这个字段,但是它仍然不起作用。

代码语言:javascript
复制
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>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-07 12:03:07

您应该使用控制器来初始化值,以及使用ng-options创建下拉列表的更好方法。

比如:

HTML:

代码语言:javascript
复制
<select class="form-control" ng-model="newQuestion.positionOnSurvey" ng-options="position for position in vm.questionsPositions"></select>

控制器:

代码语言:javascript
复制
        $scope.vm ={};
        $scope.newQuestion ={};
        $scope.vm.questionsPositions = [12,14];
        $scope.newQuestion.positionOnSurvey = $scope.vm.questionsPositions[0];

所以select列表中的初始值是12

票数 1
EN

Stack Overflow用户

发布于 2015-08-07 10:26:15

您可以尝试使用默认值在控制器中插入$newQuestion.positionOnSurvey,因此视图中的选择器将有一个初始值。

票数 0
EN

Stack Overflow用户

发布于 2015-08-07 10:31:48

ngInit的唯一合适用途是对ngRepeat的特殊性质进行混叠。此外,您应该使用控制器而不是ngInit来初始化作用域上的值。

根据ngInit API,我建议在控制器上设置选择的初始值。

请参阅:控制器指南

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31875446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档