我遇到了angular.js 1.4.0的问题。如果我使用“数字”,我不能在选择标记中设置默认值,但如果使用“字符串”,它将起作用。 select语句是视图中的硬编码。我已经在控制器中初始化了我的模型。无法在选择标记中设置默认选定选项
//这不起作用,值通过'数字' $ scope.colors = 2;
//这将工作,传递的值是'字符串' $ scope.colors ='2';
VIEW /型号:
<div ng-app="app">
<div ng-controller="MyController">
<select ng-model="colors">
<option value="1">Red</option>
<option value="2">Blue</option>
<option value="3">Green</option>
</select>
<p>Selected Color: {{colors}}</p>
<div ng-switch="colors">
<p ng-switch-when="1"><span class="red-block"></span></p>
<p ng-switch-when="2"><span class="blue-block"></span></p>
<p ng-switch-when="3"><span class="green-block"></span></p>
</div>
</div>
控制器:
angular.module('app', []).controller('MyController', function($scope) {
/* angular.js version 1.4.0 issue:
$scope.colors = 2; --> will not work
$scope.colors = '2'; --> will work
This is working on angular.js version 1.3.15
*/
$scope.colors = 1;
});
如果我使用angular.js版本1.3.15,这两个 '号' 和 '串' 会工作。
注意:在codepen中设置的角度版本是1.4.0,所以你可以看到错误。
http://codepen.io/joemalski/pen/YXQMKO?editors=001
那么问题是什么? – Freezystem
我想我的问题是,我想知道是否有一个像angular.js 1.3.15版本那样的工作,我不需要检查我在$ scope.colors中传递的值是否它是一个'数字'或'字符串'。 – joemalski