2015-09-23 21 views
8

AngularJS ile Typescript kullanıyorum. JQuery kitaplığının tür tanımını kullanan modals ile ilgili bir sorunum var. Aşağıdaki hatayı alıyorum: 'hata TS2339:' JQuery 'türünde özellik' modal 'yok.'error TS2339: 'JQuery' türünde '' modal '' yok

Versiyon: jQuery kütüphanesi, versiyon 1.10.x/2.0.x Tanımlar: Ben angular.d.ts

<reference path="../jquery/jquery.d.ts" /> 

ve jquery.d.ts için başvuran ediyorum

$scope.delete = function (id) { 
    Photo.get({id: id}, function(result) { 
    $scope.photo = result; 
    $('#deletePhotoConfirmation').modal('show');// error line 
    }); 
}; 

https://github.com/borisyankov/DefinitelyTyped

Kod benim küresel satıcı referans dosyası gibi görünüyor:

<reference path='../vendor/types/angular/angular.d.ts' /> 
<reference path='../vendor/types/angular/angular-mocks.d.ts' /> 
<reference path='../vendor/types/jasmine/jasmine.d.ts' /> 
+2

kodunuzu gösterebilir? –

+0

$ scope.delete = işlev (id) { Fotoğraf.get ({id: id}, işlev (sonuç) { $ kapsam.photo = sonuç; $ ('# deletePhotoConfirmation'). Modal ('show') // hata satırı }); }; – TomekB

+0

'angular.d.ts' dosyasında 'jquery.d.ts' dosyasına başvuruyorum: /// ve global satıcı referans dosyam gibi görünüyor: /// /// /// TomekB

cevap

9

Sorununuz,dosyasında modal adıyla özellik eksikliğinden kaynaklanıyor. Saf JS bu çalışma size Ayrıca, bu

$scope.delete = function (id) { 
    Photo.get({id: id}, function(result) { 
    $scope.photo = result; 
    (<any>$('#deletePhotoConfirmation')).modal('show'); 
    }); 
}; 

gibi onunla kandırmak emin, bu seçenek zaten tanımlanmış olan ek d.ts dosyayı bulabilirseniz

.

zaten modal seçenek

Good Luck etti this kütüphane düşünün deneyin! typescript (> inanıyorum v2) yeni sürümleriyle Bootstrap DefinitelyTyped

typings install --global --save dt~bootstrap

+1

etiketinin altındaki soruların altında 'jquery.simplemodal.d.ts' seçeneğini işaretledim. İyi çalışıyor, teşekkürler! – TomekB

+1

doğru soru olarak size yardımcı –

3

Dene:

npm install -D @types/bootstrap 
22

için typings yüklemeden

+0

Eğer bu jquery türleri de yüklü bir proje ile benim için çalıştı - jQuery arabirimine ekledi böylece $ $ (modal seçici) .modal ('show') 'vb derler iyi – hughjdavey

+6

Ayrıca "bootstrap", "benim app.module.ts" için bootstrap olarak 'import * eklemek zorunda kaldı, aksi halde IntelliJ şikayet etmeyi bıraktı ama yine de aynı hata ile komut satırında derleme yapmazdı. Ne dediğiniz önemli değil (bootstrap olmak zorunda değil). Mutlak bir netlik için, "jQuery" den $, $ olarak da "import" i kullanıyorum. – hughjdavey

+1

Teşekkür ederim @hughjdavey !!! Bu özel ithalat ifadelerini dahil etmek için ... bunun ne kadar yaygın olması gerektiği konusunda ne kadar belirsiz olduğuna inanamıyorum! – Beej

İlgili konular