本文介紹了關(guān)于angularJs中使用$.ajax的注意點(diǎn),分享給大家,具體如下
從技術(shù)上來(lái)講,angular 與 jquery混用,是一件不太合適的,但是為什么這個(gè)話(huà)題爭(zhēng)論至今依舊仁者見(jiàn)仁智者見(jiàn)智,
除了便捷度,還有可能就是jquery有些地方確實(shí)比angular要全面些,就比如說(shuō)ajax跨域方面。
我本人平時(shí)用angular開(kāi)發(fā)的時(shí)候,基本上就只是用angular,即便有angular.element 這個(gè)方法也是盡量少使用,我建議大家如果使用框架,盡量就使用一種,因?yàn)檫@些都是封裝的方法,難免會(huì)有沖突。真出了bug會(huì)比較棘手。
直奔主題:
ajax跨域或者參數(shù)類(lèi)型(dataType)需要設(shè)定的時(shí)候,$http會(huì)顯得很尷尬,那么這時(shí)候我想到了使用$.ajax;
本來(lái)$.ajax寫(xiě)起來(lái)倒是不比$http墨跡,但是寫(xiě)完就發(fā)現(xiàn)問(wèn)題來(lái)了,view層對(duì)$.ajax處理完的對(duì)象完全不予理睬。
angular的特色是雙向綁定,復(fù)雜點(diǎn)說(shuō),有一個(gè)臟值檢測(cè)系統(tǒng),主要包括:$watch 和 $digest;
觸發(fā)$digest里面有一個(gè)玩意叫$apply,$apply 被認(rèn)為是 使AngularJs與第三方庫(kù)混合使用最標(biāo)準(zhǔn)的方式。
$.ajax({ data:{}, url:'', type/method:'', dataType:'', success: function(){ $scope.$appy(); } } )
處理完成之后加一個(gè)$scope.$apply()即可,這個(gè)方法還適用于setTimeout,setInterval等...
但是我依舊建議在能不使用第三方庫(kù)的時(shí)候就不要使用。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com