0

有一个新的基于 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() 方法?

谢谢

4

0 回答 0