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

  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006