簡體   English   中英

AngularJS-動態模板URL

[英]Angularjs - dynamic template URL

我有一個指令,我希望能夠在某些邏輯上加載其他模板。

在下面的示例中,“ type”是作用域上的變量,我希望將其傳遞給指令以構建指令模板的URL。

<direct type="{{type}}"></direct>

var direct = function () {
  return {
  restrict: 'E',
  templateUrl: function(tElement, tAttrs) {
    console.log(type);
    return 'resources/' + tAttrs.type + '.html';
  }
 };
};

不評估類型,而是在tAttrs中傳遞實際的字符串“ type”。 你知道我可能會錯過什么嗎?

您必須通過直接指令上的隔離范圍來執行此操作。

我在這里為您提供了一個示例: http : //jsbin.com/lagez/1/edit

您可以在示例鏈接中看到,必須在范圍內的指令范圍內指定要讀取的屬性:{attributeName:'@'}

作用域{}中的屬性名稱語法應為駝峰式,且首字母較小。 例如typeName,然后在指令中指定屬性名稱,例如

您遇到的問題是,在評估templateUrl時,沒有將該值綁定到的范圍,因此它返回屬性的實際字符串內容-而不是您期望的插值值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM