我在AngularJS應用程序中遇到了一些挑戰。我有一個用戶可以填寫的表單。當他們提交時,我從Bower下載的指令接管,在後臺執行POST,然後返回到我的範圍函數完成。我需要禁用點擊按鈕,並在點擊提交按鈕時顯示加載img。通常情況下,在範圍設置的「更新」變量將照顧這:指令調用之前的角度禁用
<input data-ng-disabled="form.isUpdating" type="submit" value="Submit"/>
<img data-ng-show="form.isUpdating" src="/images/spinner.gif">
$scope.saveForm = function(){
$scope.form.isUpdating = true;
// Do some stuff
$scope.form.isUpdating = false;
}
我的問題是,我沒有在什麼最初發生的控制,因爲該指令接管,它沒有訪問我的範圍。我可能會混淆代碼,但是如果我不必這樣做,我寧願不要。所以當我點擊按鈕提交時,直到指令中的POST完成後纔會發生任何事情,這對我的用戶不利。
我不能做ng-click並在那裏設置form.isUpdating爲true,因爲那會立即使按鈕被禁用,所以點擊不會註冊。據我所知,你不能一起使用ng-click和ng-disabled。
任何人都可以想出一個很好的方法來解決這個問題嗎?
我沒有看到使用ng-click的任何問題。您是否使用ng-click面對任何問題,然後在ng-click上點擊按鈕? – Rabi 2014-09-30 05:49:31
是的,從我讀過(並經歷過)使用ng-click設置變量的設置開始,因此將form.isUpdating設置爲true將立即禁用表單,因此該按鈕被禁用,img在那裏,但沒有其他觸發。 – KJ3 2014-09-30 05:50:55
你如何配置/設置此第三方指令? ngMousedown將成爲mousedown,mouseup,click,submit事件序列中的第一個事件。你可以包裝ngsubmit嗎? – cbayram 2014-09-30 06:26:47