繁体   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