2016-03-18 49 views
6

的函數嗯......在角1.x.y是templateUrl在angular2

angular.module('myApp', []).directive('myDirective', function(){ 
    return { 
     templateUrl : function(tElement, iAttrs){ 
      return 'http://' + iAttrs.myDirective // More... 
     } 
    } 
}); 

但是...在Angular2

@Component({ 
    selector: 'my-Directive', 
    templateUrl: 'http://???' 
}) 
class HelloWorld { 
} 

那麼,在doc說只有一個String。因爲它被處理爲angular2中的函數?

+0

使用templateUrl: 'HTTP:// ...' – pixelbits

+0

同類爲[這個問題(類似的問題的http://stackoverflow.com/questions/36071097/how-can -i-have-dynamic-templateurl-for-angular2-component)沒有答案... –

+0

@pixelbits OP想擁有基於從父組件傳遞的值的動態'templateUrl' ..我昨天問過類似的問題,但didn找不到任何答案..你能看看我以前的評論嗎? –

回答

0

我不得不實施類似的東西,我的解決方案與Thomas Gassmann的評論相同,所以我決定分享。

當前(角度4.4.5)@Component裝飾只接受一個字符串,因此模板不像angularJS那樣動態編譯。但是,您可以實現多個組件並動態切換組件。下面的例子:

https://stackblitz.com/edit/angular-dynamic-templateurl

+0

這個想法,是de服務器中的templetes說'errors/timeout.html','errors/input_error.html' ....等等 –