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

  • efaustus9

    efaustus9

    16 HAZİRAN 2006
  • Kindness

    Kindness

    23 Ocak 2006
  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011