Tôi đang cố gắng sử dụng $log
dịch vụ vào một góc 2, Theo những gì tôi đọc bạn cần các bước sau:Tiêm angularjs dịch vụ vào góc
- Tạo một module có chứa các dịch vụ mà bạn muốn tiêm.
- Nâng cấp cuộc gọi UpgradeAdapterNgười cung cấp phương pháp nâng cấpNg1.
Vì vậy, tôi đã làm như sau
var initInjector = angular.injector(['ng']);
var $log = initInjector.get('$log');
angular.module('Services1', [])
.service('$log', [$log]);
upgradeAdapter.upgradeNg1Provider('$log');
Sau đó, tôi tạo ra một 2 phần góc cạnh như sau
@Component({ selector: "ion-app", template:"<p>Test</p>" })
@Injectable()
export class HelloIonicPage {
message: string;
constructor(@Inject('$log') $log) {
this.message = "Hi";
}
}
Nhưng khi tôi chạy ứng dụng nó mang lại cho tôi những lỗi sau:
ORIGINAL EXCEPTION: No provider for $log!
Ngoài ra, tôi đã cố gắng bootstrap
sử dụng upgradeAdapter
:
upgradeAdapter.bootstrap(document.documentElement, ['Services1'])
Nhưng điều đó cũng không có tác dụng. Xin lưu ý rằng tôi đang sử dụng Ionic 2 khuôn khổ và các mã trên được viết bên trong
this.platform.ready().then(() => {
//The code is going here
});
Có vẻ như một câu hỏi tương tự. Kiểm tra điều này, bạn có thể muốn sử dụng các ràng buộc hoặc các nhà cung cấp http://stackoverflow.com/a/32298993/1403009 – Naveen
@NaveenAechan Câu trả lời đó dường như không hữu ích, vì nó giả sử bạn có quyền truy cập vào đối tượng nhà cung cấp Angular 2. UpgradeAdapter.upgradeNg1Provider không trả lại bất cứ điều gì. – sgroves
Chỉ cần tham khảo 'Góc' nếu bạn đang đề cập đến Góc 2+ – brijmcq