Bir uygulama üzerinde çalışıyorum ve eğlence için Angular2 ile oynuyorum. ES5 JavaScript kullanıyorum ve şu anda sorum şu anda Http servisine nasıl erişebilirim? Kullanılabilir tüm belgeler TypeScript'dir (bu yardımcı değildir) ya da Angular2'nin alfa sürümü içindir ve sistem o zamandan beri değişmiştir.Angular2 Http Sağlayıcıları ES5 (TypeScript değil)
Angular2 sürüm 2.0.0-beta.13 kullanıyorum. Aşağıdaki hatayı alıyorum: TypeError: ng.http.get is not a function in [null]
. ng.http.Http.get
kullanarak boşuna hiçbir zaman denedim. Kafamda bulunan angular2-all.umd.js
ve angular.io (RxJS, es6 şimleri, polyfills, vb.) Tarafından tanımlanan diğer js gereksinimleri var.
Referans için sahip olduğum kod parçacıkları aşağıda verilmiştir. Tüm dosyalar okuma kolaylığı için birlikte birleştirilmiştir.
;(function (app, ng) {
app.CommandService = (function() {
var CommandService = function() {
this.url = 'api/commands';
};
CommandService.prototype.all = function() {
return ng.http.get(this.url)
.map(function (response) {
return response.json().data;
})
.catch();
};
return CommandService;
})();
})(window.app || (window.app = {}), window.ng);
;(function (app, ng) {
app.CommandComponent = (function() {
function CommandComponent(commandService) {
this.commandService = commandService;
this.commands = [];
}
CommandComponent.parameters = [
app.CommandService
];
CommandComponent.annotations = [
new ng.core.Component({
selector: '#command-listing',
templateUrl: 'api/templates/commands/listing',
providers: [
app.CommandService,
ng.http.HTTP_PROVIDERS
]
})
];
CommandComponent.prototype.all = function() {
var self = this;
this.commandService.all().subscribe(
function (commands) {
self.commands = commands;
}, function (error) {
self.error = error;
}
);
};
CommandComponent.prototype.ngOnInit = function() {
this.all();
};
return CommandComponent;
})();
})(window.app || (window.app = {}), window.ng);
;(function (app, ng) {
document.addEventListener('DOMContentLoaded', function() {
ng.platform.browser.bootstrap(app.CommandComponent);
});
})(window.app || (window.app = {}), window.ng);
, typescript uygun bir seçenek olarak görünmemektedir. Gerekli ortamı kurmaya çalıştım ve TS sorunlarının giderildiği bir gün sonra, şimdi SystemJS sorunlarım var, bu yüzden ben tüm JS'leri anlamaya zamanım olacak kadar sade JS seçeneğinin yeterli olabileceğini umuyorum. .
Daha fazla bilgi gerekirse, bildirin; Verdiđim için mutluyum.
Bir yan not olarak, SystemJS & TypeScript'inizi bulmanızı öneririz. Angular2 MUCH ile hayatı kolaylaştıracağı için dava açar. :) –
Kesinlikle planlıyorum. TypeScript'in yapısını çok beğendim, ancak şu ana kadar çalışmayı son derece zorluyordum. –
Bileşenleri bu şekilde bildirme yöntemini nereden ediniyorsunuz? Ben öyle görünmedim. – acdcjunior