2

我创建了一个指令来验证来自服务器的数据

在我的指令的链接函数中,我抓住了元素并将更改事件附加到它作为休闲返回函数(范围,元素){

    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,它对服务器进行了一次安静的调用,但我发现 ajax 调用仅每两次进行一次,即假设文本框起初是黑色的,我将其值更改为“test”并选项卡没有进行 ajax 调用,但是如果我专注于文本框并尝试在输入的第一个字符处键入任何内容,则会触发 ajax 调用,依此类推,因此只会每隔两次触发 ajax 调用

4

1 回答 1

1

得到了解决方案,将回调事件放在范围内。$apply 就可以了!

于 2013-07-04T04:37:40.970 回答