加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular $timeout – TypeError:object不是函数

发布时间:2020-12-17 06:55:29 所属栏目:安全 来源:网络整理
导读:我写了一个指令和一个服务.该指令在服务中调用超时函数.但是,一旦达到$timeout,就会抛出一个错误: TypeError: object is not a function 原始$scope.msg不会显示.并且$timeout函数不等待(20秒)调用回调(或者我假设,因为$scope.msg立即改变). 我完全迷失了.
我写了一个指令和一个服务.该指令在服务中调用超时函数.但是,一旦达到$timeout,就会抛出一个错误:

TypeError: object is not a function

原始$scope.msg不会显示.并且$timeout函数不等待(20秒)调用回调(或者我假设,因为$scope.msg立即改变).

我完全迷失了.我发现了一些关于超时的问题,但他们似乎都没有这个问题.这个和我一样接近,我已经按照Angularjs directive TypeError: object is not a function的答案了.

这是代码的Plunker:
http://plnkr.co/edit/xrepQOWIHlccbW5atW88?p=preview

这是实际的代码.

angular.module('myApp',[
    'ui.bootstrap','myApp.services','myApp.directives',]);

angular.module('myApp.directives',[]).
directive('logoutNotification',[
    function(admin) {
        return {
            restrict: "E",template: "<div>{{msg}}</div>",controller: ["$scope","$timeout","admin",function($scope,$timeout,admin) {
                    $scope.msg = "Hey,no timeout yet";
                    $scope.resetNotification = function() {
                        admin.resetNoticeTimer(function(){
                          $scope.msg = "Hey,I'm back from timeout"
                        });
                    };
                }
            ],link: function(scope) {
                scope.resetNotification();
            }
        };
    }
]);

angular.module('myApp.services',[]).
factory('admin',['$rootScope','$location','$timeout',function($rootScope,$location,admin) {
        var noticeTimer;
        return {
            resetNoticeTimer: function(cb) {
                if (noticeTimer) {
                    $timeout.cancel(noticeTimer);
                }
                noticeTimer = $timeout(cb(),20000);
            }
        };
    }
]);

提前致谢!

解决方法

你错误地依赖了依赖项.

你的代码:

factory('admin',admin) {

应该:

factory('admin',$location) {

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读