Разрешить шаблон в AngularJS, похожий на Handlebars?

Как разрешить шаблон AngularJS с синтаксисом, похожим на Handlebar?

<script type="text/ng-template" id="mytemplate">
  Name is {{name}}
</script>

Я могу получить шаблон, используя $templateCache.get('mytemplate'), но как преобразовать этот шаблон в допустимый HTML, который можно вставить в DOM.

Например:

var html = $templateCache.get('mytemplate', {name: 'Ace' });

должен вывести "Name Ace"

1 ответ

Решение

Отказ от ответственности: я не пробовал это, но я думаю, что это будет работать.

var scope = $rootScope.$new();
scope.name = 'Ace';
var html = $compile($templateCache.get('myTemplate'))(scope);

По сути, создайте Scope, установите для него значения, а затем передайте его в скомпилированный шаблон.

Другие вопросы по тегам