AngluarJS $超时无效

时间:2017-11-12 12:41:36

标签: javascript angularjs timeout

我正试图在我的观点中创建一个延迟的动作 单击一个按钮时,会出现相应的消息,但我希望消息在2000ms内消失 我发现了一些推荐$timeout的情况,我似乎在这些情况下遵循了解决方案,但标签文本没有被$timeout函数改变。

为什么我的$timeout在这种情况下不起作用?

我很欣赏有关此事的任何指导。请在下面找到我的代码。

// app.js

var app = angular.module('myApp', []);

// mainController.js

app.controller("mainController", ["$scope", function($scope, $timeout) {
  $scope.fireTrigger = function(str) {
    $scope.triggeredValue = (str) + " fired";
    $timeout(function() { 
            $scope.triggeredValue = "";
        }, 2000);
  }
}]);

// index.html

<!DOCTYPE html>
<html ng-app="myApp">

<head>
<title>myApp</title>
<link rel="stylesheet" 
href="entertainment.css">
</head>

<body ng-controller="mainController">
    <h3 ng-bind="triggeredValue"></h3>
// ...

1 个答案:

答案 0 :(得分:1)

在控制器的工厂功能中使用它之前,在内联数组中注入依赖项

app.controller("mainController", ["$scope", "$timeout", //<-- add $timeout dependency
   function($scope, $timeout) {