我正在研究一个白色标签产品本身,该产品会加载数据文件以编程方式填充自身,特别是在加载的数据中是组件名称和该组件的关联JSON数据,而这些已命名的组件已经在数据加载到的角度模块。
在组件控制器angularjs中尝试解析ffs
时使用AngularJS 1.7.4和ui-router 1.0.20遇到错误Unknown provider: ffsProvider <- ffs
。这是预期的行为吗,是否有解决方法可以让我使用resolve注入这些依赖项?
我需要使用componentProvider,因为状态是使用$stateRegistry.register({...})
加载和注册的,每个状态都有在JSON文件中定义的组件。
这是该设计的简洁视图,请注意,它可以通过将componentProvider
替换为component
而起作用。
// Here's a skeleton app. Fork this plunk, or create your own from scratch.
var app = angular.module('demonstrateissue', ['ui.router']);
// Empty config block. Define your example states here.
app.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home')
$stateProvider.state({
name: 'home',
url: '/home',
componentProvider: function() {
return 'myComponent';
},
resolve: {
ffs: function() {
return { 'msg': 'hello world' };
}
}
});
})
.component('myComponent', {
template: '<h1>foo state loaded {{ ffs.msg }}</h1>',
controller: function($scope, ffs) {
console.log(ffs)
$scope.ffs = ffs;
}
})
有关示例,请参见plunkr