gpt4 book ai didi

angularjs - 用于将服务注入(inject)子状态解析的 UI 路由器未知提供程序

转载 作者:行者123 更新时间:2023-12-04 15:43:51 26 4
gpt4 key购买 nike

将服务注入(inject)子状态解析函数时出现未知提供者。但是如果在父状态中定义了一个解析,它就可以工作。下面是一些示例代码:

我定义了一个服务模块

angular.module('services', [])
.factory('myService', function() {
// my service here
})

并初始化应用程序
var app = angular.module('app', ['services', 'ui.router']);
app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider,

$urlRouterProvider) {
$stateProvider.state('wizard', {
url: '/wizard',
abstract: true
})
.state('wizard.step1', {
url: '/step1',
templateUrl: ... ,
resolve: {
name: function(myService) {
// do something with mySerice
}
},
controller: function(name) {
// controller codes here
}
})
}]);

我在wizard.step1 解决中收到错误Unknown provider 提示myService。但是如果我在父状态中添加一个随机解析,比如
$stateProvider.state('wizard', {
url: '/wizard',
abstract: true,
resolve: {
a: function() { return 1; }
}
})

然后它可以正常工作。想知道这里发生了什么?

最佳答案

在你的 Controller 中,你必须注入(inject)你的服务 MyService,所以定义这样的东西

  .state('wizard.step1', {
url: '/step1',
templateUrl: ... ,
resolve: {
name: ['myService', function(myService) {
// do something with mySerice
}]
},
controller: ['name', function(name) {
// controller codes here
}]
})

关于angularjs - 用于将服务注入(inject)子状态解析的 UI 路由器未知提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26136225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com