我想将服务注入app.config,以便可以在调用控制器之前检索数据。我这样尝试过:
服务:
app.service('dbService', function() {
return {
getData: function($q, $http) {
var defer = $q.defer();
$http.get('db.php/score/getData').success(function(data) {
defer.resolve(data);
});
return defer.promise;
}
};
});
配置:
app.config(function ($routeProvider, dbService) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
data: dbService.getData(),
}
})
});
但是我得到这个错误:
错误:未知提供程序:EditorApp的dbService
如何更正设置并注入此服务?
Alex提供了无法执行您要尝试执行的操作的正确原因,因此+1。但是您遇到此问题是因为您没有完全使用解决方案的设计方式。
resolve
接受服务或函数的字符串,返回要注入的值。由于您要执行后者,因此需要传递一个实际函数:
resolve: {
data: function (dbService) {
return dbService.getData();
}
}
当框架解析时data
,它将注入dbService
函数,以便您可以自由使用它。您完全不需要注入config
模块即可完成此操作。
祝您好胃口!
问题内容: authService.getLoggedin()返回false或true取决于用户是否登录。然后,我想不允许他们进入网址,如果不允许的话。 但是我收到此错误:错误:[$ injector:modulerr]由于以下原因无法实例化模块WikiApp:[$ injector:unpr]未知提供程序:authService 问题答案: 在配置阶段,您只能要求提供程序($ routeProv
我正在用Symfony制作简单的应用程序。我在这里配置了服务 我的服务使用存储库(例如,评论服务使用评论存储库),这里是的构造函数 性质 构造函数: 当我试图运行我的应用程序我得到这个错误 PHP致命错误:未捕获Symfony\Component\DependencyInjection\Exception\AutowiringFailedException:无法自动连线服务“AppBundle\R
我尝试的方法之一是在从MessageBusListener创建FlowListener实例的同时传递服务引用。然而,当参数化服务被停用和激活回来时,我认为OSGi服务将创建一个新的服务实例并绑定到MessageBusListener,但是FlowListener仍然会有一个过时的引用。 期待其他方法,可以满足我的要求。
问题内容: 我已经使用数据库中的SQL数据库开发了一个窗口服务,该数据库中的记录已满,因此查询执行需要很多时间,而默认命令超时是30S,但我想将其增加到120S。 但是我的应用程序中有很多方法,因此我想从APP.config文件中进行设置,这样它将适用于应用程序级别,任何人都可以告诉我如何实现此目标 谢谢 问题答案: 实现此目的的最简单方法是在类似以下内容的地方添加新条目: 然后,创建一个将填充值
我试图使用Activiti和Spring MVC框架在我的web应用程序中创建一个工作流,因此我必须通过applicationContext.xml文件注入Activiti服务,然后autowire这些服务。 这就是JUnit测试后consol中的问题 Grave:允许TestExecutionListener[org.springframework.test.context.support.De
下午好 我在Bean Validator(JSR 303)中注入服务时遇到问题。我将执行验证,但我需要在数据库中验证此记录; 当我使用我的服务时,它会抛出NullPointerException; 例外: 注释: ValidatorImpl: