Wstrzyknięcie zamienia się w kontrolery dyrektyw
Używam routera AngularUI (0.2.13) i mam stan zdefiniowany jako taki
.state('foo', {
template:'<div some-directive>',
resolve:{
foo:function(SomeService){
return SomeService.something().promise;
}
})
i taką dyrektywę:
app.directive('someDirective', function(){
return {
controller: function(data) {
// I want `data` to be injected from the resolve...
// as it would if this was a "standalone" controller
}
}
})
ale to nie działa - parametr
datageneruje błąd UnknownProvider. Zdefiniowanie kontrolera dyrektywy niezależnie i ustawienie go według nazwy w dyrektywie daje ten sam wynik.
Mniej więcej rozumiem, dlaczego tak się dzieje, ale mam dwa pytania:
- czy istnieje sposób na zrobienie tego, co próbuję zrobić
- powinienem spróbować to zrobić, czy też wślizgnąłem się tutaj w antywzór
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Chcesz zaktualizować definicję stanu, aby uwzględnić kontroler i ustawić parametr w dyrektywie:
Następnie zaktualizuj dyrektywę, aby użyć tej opcji:
Oto przykład tłoka:
http://plnkr.co/edit/TOPMLUXc7 ... eview
http://plnkr.co/edit/TOPMLUXc7 ... eview
Anonimowy użytkownik
Potwierdzenie od:
https://github.com/angular-ui/ ... 93098
https://github.com/angular-ui/ ... 3098w wersji 0.2.19 dodajemy $ resolution do $ scope, umożliwiając kierowanie do komponentu szablonu stylu
Szablon: My Dyrektywa Wejście = "$ Resolve.SimpleObj" & GT; & My-Dyrektywa i GT; ,