【发布时间】:2015-02-20 19:27:14
【问题描述】:
我有一个带有动态下拉菜单的角度视图。当用户选择列表中的一个选项时,我试图设置一个范围变量。无论出于何种原因,它都没有在选择时设置。我认为这是范围的问题,但我无法弄清楚究竟是什么。
app.controller('MyController', function ($scope) {
$scope.myType = null;
$scope.types = [{name: 'a', isChecked:false}, {name: 'b', isChecked:false}, {name: 'c', isChecked:false}];
$scope.doSomething = function() {
console.log($scope.myType); //null value
}
}
视图从types 范围变量构建下拉列表。当用户选择一个时,我将myType 设置为选择的名称值,但是当我尝试在控制器中引用该变量时,它始终为空。
<div class="btn-group" dropdown>
<button type="button" dropdown-toggle>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li ng-repeat="type in types" ng-click="myType = type.name">
{{type.name}} <input type="checkbox" ng-checked="myType == type.name" /><label></label>
</li>
</ul>
</div>
<div ng-click="doSomething()">do something</div>
【问题讨论】:
标签: angularjs variables scope bind