此代码在Windows上运行时可以 $ watch('Id')成功,但在Unix上它不能。
我的HTML代码是:
<form name="qryForm">
<multi-selected class="selected" list="list" allow-all="true" select-value="Id"></multi-selected>
<button class="btn" ng-disabled="qryForm.$valid" ng-click="getData()"> Search</button>
</form>
当我点击多选(下拉列表)并选择一个键值时,这将更改 select-Value (由我的directive.js控制)
$(element).bind('change', function() {
scope.selectValue = $(element).val();
});
同时,当selectValue被更改时,我尝试在我的controller.js中观看“Id”attr标签( select-value =“Id”),如下所示:
$scope.$watch('Id', function(value) {
console.log('$watch.Id==>' + value);
if (angular.isUndefined(value) || value == null) return;
if (typeof(value) == 'string') {
$scope.selectAll = false;
$scope.qryForm.$setValidity('qryForm.$invalid', false);
} else {
$scope.qryForm.$setValidity('qryForm.$invalid', true);
}
});