【发布时间】:2015-09-04 11:52:10
【问题描述】:
$scope.$watch 有点麻烦。情况是我正在使用这个不错的插件来创建一个下拉列表: http://wenzhixin.net.cn/p/multiple-select/docs/
在我的视图文件中,我有:
<select id="hid" multiple="multiple" name="hname">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
在我的 js 控制器文件中:
$('#hid').change(function() { $scope.hvalue = $(this).val() }).multipleSelect({ width: '20%', selectAll:false })
$scope.testwatch = []
$scope.$watch(function() {
return $scope.hvalue
}, function(value) {
if(value) {
$scope.testwatch = $scope.hvalue
}
}, true)
问题是当用户改变下拉菜单时,$scope.hvalue 被修改了。但是,$watch 函数永远不会执行。知道为什么会这样吗?
非常感谢!
【问题讨论】:
标签: jquery angularjs drop-down-menu watch