Plunker: http ://plnkr.co/edit/ElXFi2mo44VpLVsaooOJ
我正在修改一个工作网络应用程序以利用一个名为 Selectize 的 jQuery UI 插件。以前我有一个绑定到控制器的输入元素和一个放在该变量上的手表。我添加了所需的代码来选择撤消我的监视和绑定的组件,因为这个插件修改了 DOM 元素并用新元素掩盖了我的绑定元素。
我宁愿继续使用角度手表,而不是调用 selectize 中的方法来观察值。
注释掉第 7-16 行,以查看在每次输入更改时都正确调用了手表。
<input id="itemQuery" type="text" placeholder="Search" class="form-control" ng-model="myValue">
和脚本:
angular.module('Sample.controllers', [])
.controller('mainController', ['$scope',
function($scope) {
$scope.myValue="";
$('#itemQuery').selectize({
delimiter: ',',
persist: false,
create: function(input) {
return {
value: input,
text: input
}
}
});
$scope.$watch('myValue', function(newValue, oldValue) {
alert("Old value: " + oldValue + " New value: " + newValue);
});
}]);
angular.module('Sample', ['Sample.controllers']);