我已经创建了一个指令来验证来自服务器的数据
在我的指令的link函数中,我捕获了对元素的控制,并将更改事件附加到该元素作为fallows返回函数(scope,element) {
element.bind("change", function () {
// element.attr('readonly',true);
//console.log(element.val());
var promise = orderData.vaidateBP(element.val());
// console.log(promise);
promise.then(
function (data) {
console.log(data.value);
element.attr('readonly',false);
scope.SoHeader.soldBP=data.value},
function (response) {
console.log(response);
}
);
//console.log(scope.SoHeader.soldBP);
})
}我在orderData上调用了一个服务方法vaidateBP,该方法对服务器进行restful调用,但我发现ajax调用每隔一次才进行一次,即假设文本框一开始是黑色的,我将它的值更改为"test“,然后使用tab键不进行ajax调用,但是如果我将注意力放在文本框上并尝试在输入的第一个字符处输入任何内容,它就会触发ajax调用,依此类推,因此ajax调用只会每隔一次触发一次
发布于 2013-07-04 12:37:41
得到了解决方案,将回调事件放在作用域内。$apply可以解决这个问题!
https://stackoverflow.com/questions/17424138
复制相似问题