在我的angular js应用程序中,我使用了以下内容
<select id='baseline' class="form-control" ng-model='vm.modal.baseline'>
<option ng-repeat='base in vm.baseline' ng-value='base'>{{base}}</option>
</select>
然后在我的控制器中
vm.baseline = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
vm.modal = {baseline: '3'};
但是select未默认设置为3,而是添加了
<option value="? string:3 ?"></option>
我应该怎么做才能将默认值设置为3?谢谢。
答案 0 :(得分:1)
您的控制器AS语法有问题,它可以与$ scope一起正常工作,请参见例如您的代码。
https://jsfiddle.net/6r5Lnasb/
<div ng-app ng-controller="LoginController">
<select id='baseline' class="form-control" ng-model='modal.baseline'>
<option ng-repeat='base in baseline' ng-value='base'>{{base}}</option>
</select>
</div>
function LoginController($scope) {
$scope.baseline = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$scope.modal = {baseline: '3'};
}
答案 1 :(得分:0)
它不起作用,因为ng-model值是一个字符串,而选项值是数字。
更改vm.modal = {baseline: 3};
或将baseline
转换为字符串数组vm.baseline = ['1', '2', '3' ...];
答案 2 :(得分:0)
尝试替换这两行
vm.baseline = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
vm.modal = {baseline: '3'};
在下面几行
vm = {
baseline: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
modal: {
baseline: '3'
}
}
由于未定义/声明变量vm
,类似var vm;
或var vm = {};
或var vm = null
这样的变量将数组值或任何值分配给未定义变量的属性引发错误,因此无法正常工作。
如果您已看到浏览器控制台,则可能会遇到类似的错误:TypeError: Cannot set property 'baseline' of undefined