2014-06-19 46 views
1

是否可以使用角度將字符串注入html標記名稱?AngularJS - 從模型注入字符串到HTML標記名稱

事情是這樣的:

<div ng-repeat="type in types"> 
     <bettype-{{type.id}}></bettype-{{type.id}}> 
    </div> 

我需要的輸出是:

<bettype-1></bettype-1> 
<bettype-2></bettype-2> 

我也是用聚合物(這樣我創建自定義HTML標記)。

+0

您是否希望該標記充當Angular指令,還是僅由其他引擎呈現和解釋?如果前者,你需要首先調用內容的$ compile,將尋找​​一個片段借用。 – prototype

回答

2

我認爲最好的辦法是創建它創建自定義元素,就像一個指令:

.directive('bettype', function($compile) { 
    return { 
     restrict: 'E', 
     compile: function($element, $attr) { 
      return function($scope, $element, $attr) { 
       // Create new element here with $attr.number 
       var number = $attr.number, 
        element = angular.element('<bettype-'+number+'></bettype-'+number+'>'); 
       // Replace newly created element 
       $element.replaceWith(element); 
       $compile($element)($scope); 
      } 
     } 
    } 
}); 

不知道這會工作,但也許這是要走的路...

注意:我認爲不應該使用像bettype-1這樣的虛線分隔的元素..