gpt4 book ai didi

angularjs - ui router resolve 抛出错误 provider not found

转载 作者:行者123 更新时间:2023-12-03 07:57:25 25 4
gpt4 key购买 nike

我这里有一个 ui -router 状态

 var AccountParentState = {
url: "/Account",
views: accountrootview,
stickA: true,
},
AccountAddState = {
url: "/add",
views: addaccountview,
controller: "account-controller",
resolve: {
Name: function () {
return "Joydeep";
}
}
};

$stateProvider
.state('account', AccountParentState)
.state("account.add", AccountAddState)

这是我的 Controller :

angular.module('ngApp').controller('account-controller', ['$scope', '$state', "account", "plugin-factory", "Name", function ($scope
, $state
, account
, plugins, Name) {

console.log(Name);


}]);

当我尝试解析 account-controller 中的 Name 时。它抛出的错误是:

Unknown provider: NameProvider <- Name <- account-controller

我的问题是如何解决这种情况。或者使用 resolve property 解析 ui-router 状态中的数据。

最佳答案

为了帮助您查看问题,我 created working plunker ,它确实使用了与上述状态类似的定义:

  var AccountParentState = {
url: "/Account",
views: { '' :
{ template: 'Account state <hr/><div ui-view=""></div>',} },
stickA: true,
},
AccountAddState = {
url: "/add",
//views: addaccountview,
templateUrl: 'tpl.html',
controller: "account-controller",
resolve: {
Name: function() {
return "Joydeep";
}
}
};

$stateProvider
.state('account', AccountParentState)
.state("account.add", AccountAddState)

工厂和 Controller :

  .factory('account', function(){return {}})
.factory('plugin-factory', function(){return {}})
.controller('account-controller',
['$scope', '$state', "account", "plugin-factory", "Name"
, function($scope, $state, account, plugins, Name) {
console.log(Name);
}
])

这是有效的,因为 Controller 由 UI-Router 实例化,作为状态转换的一部分。

另一方面,如果我们将使用 index.html 中的这一行(参见 forked broken version)(在状态定义之外)扩展该示例

<div ng-controller="account-controller"></div>
<div ui-view=""></div>

问题就会出现。为什么?因为现在 Controller UI-Router 管理。它不是由其基础设施注入(inject)的,也没有提供配置值 'Name'。它是“平 Angular ”风格..

检查工作解决方案here和 splinter 的here

关于angularjs - ui router resolve 抛出错误 provider not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28712778/

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