angularjs - AngularJS注入第三方模块ngIdle
问题描述
我有一个控制器,如下所示。
(function () {
"use strict";
var app = angular.module('Demo')
.controller('MainController', ['$rootScope', '$scope', '$location', 'curUser',MainController]);
function MainController($rootScope, $scope, $location, curUser) {
//some logic here
}());
我尝试包含一个名为 ngIdle 的第三方模块,生成的代码如下所示。
(function () {
"use strict";
var app = angular.module('Demo', ['ngIdle'])
.controller('MainController', ['$rootScope', '$scope', '$location', 'curUser','Idle', function ($rootScope, $scope, $location, curUser, Idle) {
}]).config(function (IdleProvider, KeepaliveProvider) {
// configure Idle settings
IdleProvider.idle(5); // in seconds
IdleProvider.timeout(5); // in seconds
KeepaliveProvider.interval(2); // in seconds
})
.run(function (Idle) {
// start watching when the app runs. also starts the Keepalive service by default.
Idle.watch();
});
}());
现在我收到一个错误错误:[$injector:unpr] Unknown provider: curUserProvider <- curUser <- MainController。这是 curUser 工厂定义
(function () {
"use strict";
angular.module("services").factory("curUser", curUser)
function curUser() {}
}());
解决方案
curUser
在services
模块中定义,因此需要将其作为依赖项添加到您的应用程序中。甚至在添加ngIdle
.
var app = angular.module('Demo', ["ngIdle", "services"])
工厂函数也应该返回一些东西。
function curUser() {
return { username: 'fooBar'};
}
请参阅工作plunker。
推荐阅读
- json - Couchbase 的 Spring 数据 - java.lang.IllegalArgumentException:JsonArray 不支持的类型:
- python - 如何替换 A 列中 B 列等于值的值?
- javascript - 数据表发送当前页码
- c# - 如何在 C# 中使用 UserPrincipal 获取 Active Directory 中的地址详细信息
- android - 获取用户备份数据的唯一标识符
- google-apps-script - 选择下拉菜单中的名称时填写模板表
- azure - 如何在 Azure Function 中为 TelemetryConfiguration 使用依赖注入
- go - 如何将参数传递给 dlv 调试
- python - 我如何在 kivy 的 gui 中顺利加载文本
- unity3d - Unity - 如何在运行时更改 AnimationClip KeyFrame 值