2013-09-30 50 views
0

是否可以將字符串變量設置爲模板的內容? 我想根據範圍選擇兩個不同的模板。 類似這樣的:引用變量作爲指令模板內容

define(['app'], function(app){ 
    app.directive('logstorelist', function(){ 
     var temp=""; 
     return{ 
      scope: true, 
      restrict: 'A', 
      link: function(s, e, a){ 
       if(a=="a") 
        temp = "<a>tempA</a>"; 
       else 
        temp = "<div>temp</div>"; 
      }, 
      replace: true, 
      template: temp 
     } 
    }) 
}); 

是這樣的可能嗎?

回答

1

你可以只用一個模板,並使用ng-switch根據您的範圍變量(如果你不介意的額外<span>)來加載內容:

define(['app'], function(app){ 
    app.directive('logstorelist', function(){ 
     var temp=""; 
     return{ 
      scope: true, 
      restrict: 'A', 
      link: function(s, e, a){ 
       s.temp = a; 
      }, 
      replace: true, 
      template: 
      ' <span ng-switch="temp"> 
       <a ng-switch-when="a">tempA</a> 
       <div ng-switch-default>temp</div> 
      </span>' 
     } 
    }) 
}); 
+0

THX,制定出很好:) 有我仍然需要了解很多功能。 – marcel

+0

哦,我應該說這不是ng-switch on =「temp」。這是ng-switch =「temp」... – marcel

+0

我會編輯它! :) –