我真的很感激对此提出一些建议。 我在我的指令的链接函数中有以下编译运算符:
element.replaceWith($compile(
'<div>Big chunk' +
'of html</div>' +
)(scope));
是否有更简洁的方法来替换字符串中的上述html而不是文件的链接?另外考虑上面的行被多次调用(在ng-repeat内部调用30-40次),从http请求到文件会有任何性能命中/是否会违反链接到实际文件的最佳做法? / p>
答案 0 :(得分:0)
您正在寻找的是指令的templateUrl
属性。此外,当链接到服务器端请求时,angular有一个名为$templateCache
的服务,这将导致任何加载的html将被编译并存储在那里,因此在服务器的单个请求之外没有任何开销来获取您的大HTML。
$templateCache
:https://docs.angularjs.org/api/ng/service/ $ templateCache
这将自动填充为任何指令的一部分。所以你可以继续使用它。