使用jQuery更改模型绑定时不会更新
这是我的HTML:
<input id="selectedDueDate" type="text" ng-model="selectedDate" />
当我输入框中时,模型通过双向绑定机制进行更新。 甜。
但是,当我通过JQuery执行此操作时...
$('#selectedDueDate').val(dateText);
它不更新模型。 为什么?
Angular不知道这个变化。 为此,您应该调用$scope.$digest()
或者在$scope.$apply()
内进行更改$scope.$apply()
:
$scope.$apply(function() {
// every changes goes here
$('#selectedDueDate').val(dateText);
});
看到这个更好地理解脏检查
更新 :这是一个例子
只是使用;
$('#selectedDueDate').val(dateText).trigger('input');
我发现如果你不直接将变量放在范围内,它会更可靠地更新。
尝试使用一些“dateObj.selectedDate”,并在控制器中将selectedDate添加到dateObj对象,如下所示:
$scope.dateObj = {selectedDate: new Date()}
这对我有效。
链接地址: http://www.djcxy.com/p/23119.html