SORU
17 ŞUBAT 2014, PAZARTESİ


Dinamik templateURL Angular.js Yönerge

O directive şablon için çağrı routeProvider bir şablon olarak özel bir etiket var. version öznitelik sonra sağ şablon çağrısında bulunan kapsam tarafından doldurulur.

<hymn ver="before-{{ week }}-{{ day }}"></hymn>

İlahi hafta ve gün ne dayalı birden çok sürümü vardır. Yönergesi .html doğru bölümünü doldurmak için kullanmak tahmin ediyordum. Değişken templateUrl tarafından okunan değildir.

emanuel.directive('hymn', function() {
    var contentUrl;
    return {
        restrict: 'E',
        link: function(scope, element, attrs) {
            // concatenating the directory to the ver attr to select the correct excerpt for the day
            contentUrl = 'content/excerpts/hymn-'   attrs.ver   '.html';
        },
        // passing in contentUrl variable
        templateUrl: contentUrl
    }
});

before-1-monday.html, before-2-tuesday.html, ... etiketli alıntılar dizinde birden fazla dosya var

CEVAP
17 ŞUBAT 2014, PAZARTESİ


ng-include yönergeyi kullanabilirsiniz.

Böyle bir şey deneyin

emanuel.directive('hymn', function() {
   return {
       restrict: 'E',
       link: function(scope, element, attrs) {
           scope.getContentUrl = function() {
                return 'content/excerpts/hymn-'   attrs.ver   '.html';
           }
       },
       template: '<div ng-include="getContentUrl()"></div>'
   }
});

UDP. ver öznitelik izlemek için

emanuel.directive('hymn', function() {
   return {
       restrict: 'E',
       link: function(scope, element, attrs) {
           scope.contentUrl = 'content/excerpts/hymn-'   attrs.ver   '.html';
           attrs.$observe("ver",function(v){
               scope.contentUrl = 'content/excerpts/hymn-'   v   '.html';
           });
       },
       template: '<div ng-include="contentUrl"></div>'
   }
});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bashirsultani

    bashirsultan

    22 Mart 2010
  • Noam Erez

    Noam Erez

    3 NİSAN 2012
  • SVB International

    SVB Internat

    29 EKİM 2011