Tôi cố gắng để nâng cấp một thành phần Angular1 và tiêu thụ nó trong ứng dụng Angular2 của tôi bằng cách làm theo the official Angular2 documentation here dưới "Sử dụng góc 1 Component Chỉ thị từ góc 2 Code", nhưng nó mang lại các lỗi sau:
error_handler.js:54 TypeError: Cannot read property 'get' of undefined
at ChartDirective.UpgradeComponent (upgrade_component.js:97)
.
Sau khi kiểm tra chặt chẽ hơn về dòng 97, đây $ thanh tra là undefined:
Mã của tôi rất đơn giản:
import { Directive, ElementRef, Injector } from '@angular/core';
import { UpgradeComponent } from '@angular/upgrade/static';
export const coolComponent = {
template: 'cool',
controller: function() {
}
};
@Directive({
selector: 'app-chart'
})
export class ChartDirective extends UpgradeComponent {
constructor(elementRef: ElementRef, injector: Injector) {
super('coolComponent', elementRef, injector);
}
}
main.ts của tôi cho bootstrapping là:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
Đây là phiên bản đơn giản của vấn đề, với các bước sinh sản tối thiểu: https://github.com/dolanmiu/angular2-upgrade-test
Nó được tạo bởi angular-cli
Nó vẫn không hoạt động! Thay vào đó, tôi gặp lỗi khi nói ứng dụng không được khởi động. Làm cho cảm giác kể từ khi bạn nói với tôi để loại bỏ các 'bootstrap' dòng trong' AppModule' [ảnh chụp màn hình ở đây] (http://imgur.com/a/7o3Bi) – Dolan
Làm theo hướng dẫn một trong những trang web Angular, tôi cũng thực hiện 'ngDoBootstrap' phương pháp. Điều đó sẽ loại bỏ lỗi của bạn. –