angular.js - angular $interval怎么在一個按鈕上實現開始定時和結束定時
問題描述
我代碼邏輯如下,想要實現:
點擊查詢按鈕,開啟定時,按鈕文案變成停止查詢,
點擊停止查詢,取消定時
$scope.submitRequest = function () { if ($scope.onlyButton == '查詢') { $scope.onlyButton = '停止查詢'; $interval(function(){ //具體方法},5000); } else{ setTimeout(function(){ $scope.onlyButton = '查詢'; $interval.cancel(stop); },0)}; }
但是沒有成功取消定時,求幫忙...
問題解答
回答1:LZ的代碼完全可以在外面做一個 狀態標示, 例如:
var interval;$scope.startStatus = false;$scope.submitRequest = function(){ if( !$scope.startStatus ){interval = $interval(...); } else {$interval.cancel(interval); }$scope.startStatus = !$scope.startStatus; }
然后在VIEW中直接類似使用:
<button ng-bind=' !startStatus ? ’查詢’ : ’停止查詢’ '></button>
我覺得這樣寫好些~
相關文章:
1. javascript - JS如何取對稱范圍的隨機數?2. java - ehcache緩存用的是虛擬機內存么?3. 數據庫 - mysql如何處理數據變化中的事務?4. android - java 泛型不支持數組,那么RxJava的Map集合有什么方便的手段可以定義獲得一串共同父類集合數據呢?5. java - mongodb分片集群下,count和聚合統計問題6. 關于docker下的nginx壓力測試7. 服務器端 - 采用nginx做web服務器,C++開發應用程序 出現拒絕連接請求?8. javascript - 有什么兼容性比較好的辦法來判斷瀏覽器窗口的類型?9. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下10. python - pandas按照列A和列B分組,將列C求平均數,怎樣才能生成一個列A,B,C的dataframe
