Angular1.3:$在文件链接中编译html?

时间:2015-07-21 14:09:58

标签: javascript angularjs angularjs-ng-repeat frontend angular-directive

我真的很感激对此提出一些建议。 我在我的指令的链接函数中有以下编译运算符:

element.replaceWith($compile(
            '<div>Big chunk' +
            'of html</div>'  +
            )(scope));

是否有更简洁的方法来替换字符串中的上述html而不是文件的链接?另外考虑上面的行被多次调用(在ng-repeat内部调用30-40次),从http请求到文件会有任何性能命中/是否会违反链接到实际文件的最佳做法? / p>

1 个答案:

答案 0 :(得分:0)

您正在寻找的是指令的templateUrl属性。此外,当链接到服务器端请求时,angular有一个名为$templateCache的服务,这将导致任何加载的html将被编译并存储在那里,因此在服务器的单个请求之外没有任何开销来获取您的大HTML。

$templateCachehttps://docs.angularjs.org/api/ng/service/ $ templateCache

这将自动填充为任何指令的一部分。所以你可以继续使用它。