Bu nesnenin "iç" işlevlerine neden erişemiyorum? Bunun daha önce çalıştığını hissediyorum.Javascript nesneleri gibi işlevler
var OfflineStorage = (function() {
function OfflineStorage() {
var db = new Dexie("OfflineStorage");
db.version(1).stores({
articles: "ArtNo,Description,Unit"
});
}
function getArticlesByArtNo(params) {
var regex = new RegExp(params.search, "i");
return db.articles
.filter(function (article) { regex.test(article.ArtNo) })
.toArray();
}
return OfflineStorage;
})();
Ve bu nesneye böyle erişmeye çalıştığımda bir hata alıyorum.
var offlinestorage = new OfflineStorage();
offlinestorage.getArticlesByArtNo(); <-- This throws an error 'is not a function'
Bu işlevler anonim işlevi içinde özel yerel sembolleridir. Bunlar hiçbir koşulda nesne özellikleri olarak örtük olarak görünmezler. * Açık bir şekilde * getArticlesByArtNo'yu, döndürdüğünüz 'OfflineStorage' işlevinin bir özelliği olarak atayarak görünür yapabilirsiniz. – Pointy
Hayır, daha önce çalışmadı. Önceden bir "OfflineStorage.prototype.getArticlesByArtNo = function…" vardı. – Bergi
işlevini de yapıcının içine koyabilirsiniz. 'this.getArticlesByArtNo = işlev (params) ....' –