有一个新的基于 DOM 的模板引擎,称为soma-template,我可以这样做:
var tempDiv = document.createElement("div");
var str = "<div data-repeat='item in items'><div>{{$index}} - {{greet}} {{item.name}}!</div> </div>";
var template = soma.template.create(str,tempDiv );
template.scope.greet = "Hello";
template.scope.items = [
{ "name": "John" },
{ "name": "David" },
{ "name": "Mike" }];
template.render();
var finalHtmlStr = newDiv.innerHTML;
检索处理后的 html 字符串。
我尝试使用 Angularjs 实现类似的结果(是否可以将 Angular 模板编译为最终的 html 字符串?),但只能使用页面中的隐藏元素来实现。
然后我将不得不等待 angular 呈现该元素并检索它的 innerHTML。
我使用了 $viewContentLoaded 事件,但不是很通用。
虽然 soma-template 很棒,但它还很年轻,缺少一些我需要的未来。
是否有任何方法可以使用 angular 作为引擎来组合像 soma-template 这样的 render() 方法?
谢谢