2014-12-05 62 views
0

我有一個像timeline.json:環路基於標準添加指令

[{ 
"from":"twitter", 
    //... 
}, 
{ 
"from": "facebook" 
//... 
}] 

基於from屬性我需要「渲染」具體的指示:後Twitter或Facebook的職位內循環

我該怎麼做?

回答

1

有幾種方法。您可以在鏈接階段使用ng-switch,ng-if或自定義處理函數。您可以在文檔中找到更多信息。

基本上,在基於條件語句調用指令的標籤之間切換,因爲它是模型中的「from」值。您可以將ng-if指令與ng-include結合使用,以基於此條件呈現模板的一部分。只要確保它不會降低性能。

1

您可以創建一個指令,根據傳遞的參數編譯想要的指令。

喜歡的東西:

.directive('renderOther', function($compile) { 
    return { 
    restrict: 'E', 
    scope: { 
     type: '=' 
    }, 
    link: functtion(scope, elem, attrs) { 
     var dir = $('<post-' + scope.type + '></post-'+scope.type+'>'); 
     dir.appendTo(elem); 
     $compile(elem.contents())(scope); 
    } 
    } 
}); 

HTML:

<div ng-repeat="i in items"> 
    <render-other type="i.from"></render-other> 
</div> 

(它不工作的代碼 - 只是一個想法)