在AngularJS自定义指令

时间:2016-04-01 09:57:42

标签: angularjs angularjs-directive

我正在尝试更新AngularJS中的自定义指令 - 它目前在代码中指定了固定模板(使用template:属性)。

我想让用户可以选择使用templateUrl:属性来提供自己的模板。

我的问题是如何提供回退 - 我不能在同一个指令中同时使用template和templateUrl。这是向后兼容所必需的。

我尝试过使用templateUrl的函数,但返回HTML并不是那里的跑步者。

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

如果你在templateUrl中使用函数,你应该提供"模板标识符" Angular首先查看模板缓存,如果未找到它,则会尝试对同一URL的资源进行异步请求。

因此,您可以简单地将默认模板放入文件中,并将其标识符作为默认值返回。

顺便说一句,如果您在单独的文件中使用templateUrl和html,请确保在构建过程中使用某种工具,如https://www.npmjs.com/package/ng-html2js