Tôi đang sử dụng AngularJS 2 và Beta 0 Tôi đang cố gắng để tạo ra một RxJS Quan sát từ một sự kiện trên một đối tượng cửa sổ. Tôi tin rằng tôi biết công thức để chụp sự kiện này như một quan sát ở dịch vụ của tôi:Angular2 RxJS nhận được 'Observable_1.Observable.fromEvent không phải là một chức năng' lỗi
var observ = Observable.fromEvent(this.windowHandle, 'hashchange');
Vấn đề là mỗi khi tôi cố gắng chạy mã này, tôi nhận được một lỗi nói rằng 'fromEvent' không phải là một hàm.
Uncaught EXCEPTION: Error during evaluation of "click"
ORIGINAL EXCEPTION: TypeError: Observable_1.Observable.fromEvent is not a function
này dường như ngụ ý với tôi rằng tôi không xử lý import
của tôi một cách chính xác bây giờ mà RxJS không được bao gồm trong việc xây dựng các kiễu góc 2, mặc dù phần còn lại của các chức năng ứng dụng của tôi đúng, mà đối với tôi có nghĩa là RxJS là nơi mà nó được cho là.
nhập của tôi trong dịch vụ trông như thế này:
import {Observable} from 'rxjs/Observable';
Mặc dù tôi cũng đã cố gắng sử dụng này để thay thế (với những thay đổi phù hợp với code), với kết quả tương tự:
import {FromEventObservable} from 'rxjs/observable/fromEvent';
tôi có cấu hình như sau trong index.html của tôi:
<script>
System.config({
map: {
rxjs: 'node_modules/rxjs'
},
packages: {
'app': {defaultExtension: 'js'},
'rxjs': {defaultExtension: 'js'}
}
});
System.import('app/app');
</script>
ai đó có thể cho tôi biết những gì Tôi đang làm sai?
tại sao chúng ta thêm tất cả mọi thứ từ rxjs, có thể chúng ta không chỉ làm tăng thêm những phần cần thiết –
@MahmoudHboubati có bạn có thể mang lại chỉ là bộ phận cần thiết. Xem câu trả lời bên dưới .. đó là cách thích hợp để nhập các thứ để bạn không làm nổi bật gói nội dung của mình. – SgtPooki
sử dụng không được khuyến khích này .. bạn KHÔNG BAO GIỜ nên nhập TẤT CẢ các nhà khai thác (như vậy, không bao giờ dùng từ 'rxjs/RX' – Mackelito