Подтвердить что ты не робот

Угловые данные JS связаны в ng-bind-html?

Возможно ли связать данные переменной области с html, который должен связываться как ng-bind-html?

т.е. имеет значение

html ="<div>{{caption}}</div>";

и мой шаблон angular выглядит,

<div ng-bind-html="html"></div>

значение переменной scope caption установлено в контроллере angular.

Итак, я хочу привязать данные в {{caption}}.

Спасибо заранее.

4b9b3361

Ответ 1

Вы должны использовать $interpolate, а не компилировать $.
Запишите контроллер следующим образом:

angular.module('app', ['ngSanitize'])
  .controller('MyCtrl', ['$scope', '$interpolate', function($scope, $interpolate){
   $scope.caption = 'My Caption';
   $scope.html = $interpolate('<div>{{caption}}</div>')($scope);
});

Затем напишите HTML следующим образом:

<div ng-controller="MyCtrl">
    <div ng-bind-html="html"></div>
</div>

Ответ 2

Вам нужно скомпилировать фрагмент HTML, но рекомендуется делать это внутри директивы.

app.controller('MyCtrl', function($compile){
  $scope.caption = 'My Caption';
  $scope.html = $compile('<div>{{caption}}</div>')($scope);
});
<div ng-bind-html="html"></div>

Ответ 3

Как насчет?

html = '<div ng-bind="caption"></div>';