2013-11-02 17 views
16

templateUrlを私のディレクティブに渡す方法はありますか?私はトランジションを使うことができると理解していますが、それはあまりにも多いようです。たとえば、widgetというディレクティブがあり、特定のhtmlで埋めたいと思っています。これはあなたがディレクティブなどtemplateUrlをディレクティブに渡すことはできますか - AngularJS

app.directive('myDirective', function() { 
    return { 
     templateUrl: function(tElement, tAttrs) { 
      return tAttrs.templateUrl; 
     } 
    }; 
}); 

を定義そうでない場合は、この

<div my-directive template-url="template1.html"></div> 

のようにそれを使用することができ、固定URLがある場合

<div widget templateUrl="template1.html"></div> 
<div widget templateUrl="template2.html"></div> 

答えて

33

:のようにそれを渡す方法はあります他の属性をディレクティブに渡して、ディレクティブのテンプレートにng-includeを使用するように、URLを渡すことができます。

+2

Angular 1.0.8で関数を 'templateUrl'として使用することはできませんので、少なくともAngular 1.1.4を使用してください。 – lort

+1

良い点。私は安定した支店を使用して以来、それはしばらくしている! 'ng-include'はどちらの方法でも動作するはずです。 – Andyrooger

+0

1.4.xでも動作することが確認されました – beauXjames

関連する問題