我有一個我設定的按鈕ng-click="refresh()"。超時功能正確記錄之前的控制臺日志,但塊內和$timeout塊之后的控制臺日志似乎沒有記錄。如果我洗掉$timeout塊每個控制臺日志都有效。我什至檢查了$interval而不是$timeout相同的行為。
我想在這里做這樣的事情
我正在使用 Angular.js 1.4.0
這是我在控制器內部的實作
$scope.refreshing ={state: false};
$scope.refresh = function(){
console.log($scope);
$scope.refreshing.state = true;
$scope.search(); //sends an http request and loads results.
console.log('this logs');
// $scope.refreshing.state = false;
$timeout(function(){
console.log('this doesnt log')
$scope.refreshing.state = false;
},2000);
console.log('this doesnt log')
}
uj5u.com熱心網友回復:
您需要確保您的依賴注入已正確連接。例如:
angular
.module("MyApp")
.controller("MyController", ["$scope", "$timeout", MyController]);
function MyController($scope, $timeout) {
// controller code
}
有關控制器的一些最佳實踐,請參閱John Papa 的 AngularJS 樣式指南。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/428393.html
標籤:angularjs angularjs-范围 angularjs-控制器 angularjs-ng-点击 angularjs-超时
