Próbuję użyć $log
usługę do kątową 2, zgodnie z tym co czytać trzeba wykonać następujące czynności:wstrzyknąć angularjs do Kątowymi
- Utwórz moduł, który zawiera usługę, którą chcesz wprowadzić.
- Wywołanie UpgradeAdapter's upgradeNg1Provider method.
Więc zrobiłem następujące
var initInjector = angular.injector(['ng']);
var $log = initInjector.get('$log');
angular.module('Services1', [])
.service('$log', [$log]);
upgradeAdapter.upgradeNg1Provider('$log');
Następnie tworzę kątową 2 komponent w postaci następującego
@Component({ selector: "ion-app", template:"<p>Test</p>" })
@Injectable()
export class HelloIonicPage {
message: string;
constructor(@Inject('$log') $log) {
this.message = "Hi";
}
}
Ale kiedy uruchomić aplikację daje mi następujący błąd:
ORIGINAL EXCEPTION: No provider for $log!
Próbowałem również bootstrap
korzystając upgradeAdapter
:
upgradeAdapter.bootstrap(document.documentElement, ['Services1'])
Ale to nie działa również. Należy pamiętać, że używam jonowych 2 ramy i powyższy kod został napisany wewnątrz
this.platform.ready().then(() => {
//The code is going here
});
Wydaje się podobnym pytaniem. Sprawdź to, możesz użyć wiązań lub dostawców http://stackoverflow.com/a/32298993/1403009 – Naveen
@NaveenAechan Ta odpowiedź nie wydaje się być pomocna, ponieważ zakłada, że masz dostęp do obiektu dostawcy Angular 2. UpgradeAdapter.upgradeNg1Provider nic nie zwraca. – sgroves
Po prostu odwołaj się do "Angular", jeśli chodzi o Angular 2+ – brijmcq