Я работаю над продуктом белой метки как таковым, который загружает файл данных для программного наполнения самого себя, в частности в загружаемых данных указывается имя компонента и связанные данные JSON для этого компонента, в то время как эти именованные компоненты уже определены вугловой модуль, в который загружаются данные.
При использовании AngularJS 1.7.4 и ui-router 1.0.20 при попытке разрешить ffs
в контроллере компонента angularjs обнаруживает ошибку Unknown provider: ffsProvider <- ffs
.Это ожидаемое поведение, есть ли обходной путь, который позволяет мне вводить эти зависимости с разрешением?
У меня есть необходимость использовать 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
http://plnkr.co/edit/JblM9T2mTHcXvsdAovBF?p=preview