SORU
13 Ocak 2014, PAZARTESİ


Açısal yönergesi templateUrl göre .js dosyası

Birkaç farklı yerlerde kullanılacak olan açısal yönergesi yapıyorum. Yapamam her zaman garantisi dosya yapısı uygulama yönergesi kullanılır, ama ben güç kullanıcı için directive.js directive.html (gerçek dosya adları) aynı klasör.

Sayfa directive.js olur, kendisi ile ilişkili olduğu templateUrl dikkate alır. templateUrl ayarlamak mümkün directive.js dosya ile ilişkili olduğu için mi?

Ya şu talimatı kendi içinde bir şablon eklemek için tavsiye edilir.

directive.js güncellemek yerine göreceli bir yol kullanmak mümkün olmasını tercih ederdim çok farklı şablonları farklı koşullara dayalı yükleme için olabilir diye düşünüyorum

CEVAP
14 Ocak 2014, Salı


Şu anda yürütülen komut dosyası her zaman komut dizisi son olacak, kolayca kendi yolunu bulmak:

// directive.js

var scripts = document.getElementsByTagName("script")
var currentScriptPath = scripts[scripts.length-1].src;

angular.module('app', [])
    .directive('test', function () {
        return {
            templateUrl: currentScriptPath.replace('directive.js', 'directive.html')
        };
    });

Eğer kod adı örneğin eğer birden çok komut edersen ne kadar eminseniz, bunu kullanın:

return {
    templateUrl: currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/')   1) 
          'directive.html'
};

NotBir kapatma kullanıldığı durumlarda, kod currentScript doğru zamanda olarak değerlendirilir sağlamak dışında olmalıdır

// directive.js

(function(currentScriptPath){
    angular.module('app', [])
        .directive('test', function () {
            return {
                templateUrl: currentScriptPath.replace('directive.js', 'directive.html')
        };
    });
})(
    (function () {
        var scripts = document.getElementsByTagName("script");
        var currentScriptPath = scripts[scripts.length - 1].src;
        return currentScriptPath;
    })()
);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014